The Mandarin Oriental and Park Hyatt are both in the Financial District, which is fine if you have business there to do. However, it is a bit quiet at night and the shopping is not that great.
The Ritz Carlton is on Nob Hill. It's one of the best two hotels in SF, IMHO. Close to Chinatown. It is a bit of a hike from the primary shopping district, Union Square, but it is accesible via a five minute cable car ride.
For a great combination of great service and location, I vote for Four Seasons. It's located right across the street from Emporio Armani, one bloc from Macy's and two blocks from Union Square. However, I don't like the contemporary design of the hotel. I like the old world look of the Ritz.