Pros: Huge ski area, great skiing, beautiful real town, history, variety
Cons: It's a town, so you could be quite a walk away from the lifts
I lived here for a season, and have been back twice since then. It's nice to see the special things about this area do not seem to change from one visit to the next.
One of the great things about this place is it's history of being a magnet for the wealthy and aristocratic (hence some absolutely beautiful hotels such as Badrutt's Palace & the Kulm) ... but don't think that means all the prices are necessarily higher than anywhere else. They wouldn't survive if that was so, because the majority of the visitors are ordinary people like you and me. It's just an element that adds an elegance to the area that makes our visits so special.
The skiing is amazing of course, whether you just stick to the Corviglia side, or take the bus over to Corvatsch or Sils on the other side of the valley. Or a two-in-one ... bus to Sils, ski from Sils to Corvatsch, take in the sights from the top cable car station, ride the Hahnensee T-Bar, stop for a schiwasser or gluewein part way down the Hahnensee run, then ski (carefully) the rest of the way down, into St. Moritz Bad. If you start early enough, you can then walk across the road and take the tram up Corviglia and have a three-in-one. But truly, Sils and Corvatsch provide enough of an experience to keep you happy for the whole day. (Don't forget the BierGarten on lower Corvatsch - they stay open till after sunset, which means a twilight ski to the town below & a bus back - they run all day and evening).
Take a day and go the other way, towards Italy, for a day of skiing at Diavolezza and Piz LaGalb. Or just Diavolezza (it means She-Devil in local Italian vernacular!) - and ski the 10 km glacier to the bottom, and enjoy a well-deserved beer or two in the sun while awaiting the train to take you back up the ski area base. Refreshments also served from an igloo at the top of the glacier - because once you ski down the backside from the tram, you must cross a valley floor, which entails a bit of pushing and poling - and oh what a welcome sight when you round the final bend and see that igloo and all the happy skiers quenching their thirst!
St. Moritz is situated in the famous Engadine Valley, which among other things, means it's the site of one of the most famous cross country ski races in the world, the Engadiner. An amazing thing to behold, with it's thousands of competitors. Follow the last competitors through the woods, and down the hill (complete with mattressed tree trunks!) to the finish line area, enjoy a variety of bratwursts and beer, and revel in the gala of the occasion alongside some of the world's top x-c racers.
St. Moritz is also home to the world-famous Cresta Run - so check into that and it's history - and if you're lucky, they might be giving rides.
Great dining up on the mountains ... don't leave before you indulge in one of the ancient Romansch traditions and have a "cafe gricha" up on the mountain - coffee with schnapps (?) - from a shared carved pot. (In the restaurant by the main station up top of the funicular that comes up from town). Down in town there are many beautiful restaurants, including Hanselmann's chocolatier, which makes a great hot chocolate or coffee visit. Afternoon tea or a drink at Badrutt's Palace would be a most civilized thing to do too, but give it the respect it deserves and dress half decently. And for a very special dinner outing - head down to the valley crossroads, and up another funicular to Muottas Muragl restaurant - go before sunset and enjoy looking back at the twinkling lights of St. Moritz in the fading twilight hour. There are buses (and the train) that go almost anywhere you want, so just ask how and where - all the hoteliers will know how to get to these places.
Last but not least - the lake. Walk on it, walk around it, eat roasted chestnuts on it, take a sleigh-ride on it. If you're there when the lake is very deep frozen, they even have horse races on the it! (early Feb, I think). Walk to the Hotel Waldhaus on the lake's edge, have dinner there (with the lake as your view), and indulge in the Whiskey Bar - over 2,000 varieties of whiskey from all over the world. The "bar" is actually a couple of rooms, lined wall to wall, floor to ceiling with the whiskey bottles (look for the hotel with the flags, you can't miss it).
Getting there: fly into Zurich, take the train. It's a beautiful journey, especially once you get into the mountains. 3 hours approx.