A wine's temperature makes an immense difference in how it tastes and smells. A wine's aromatic and flavor notes are all but annihilated when the wine is too cold, and tannins can be particularly harsh in reds. Likewise, in a wine that's too warm, especially red wine, the alcohol in the wine is highlighted and the wine tastes "hot" on the palate; it'll be flabby and flat. Oak is also affected in wines that are either too cold or too hot - they taste out of balance, either over- or under-oaked.
But, before we get into serving temperatures, we should consider wine storage temperatures. If your wine is sitting on a rack near a window that gets sun every day, serving temperature won't matter because the wine will be ruined anyway. Generally speaking temperatures over 70 F. will age wines quicker than you want and your wine might get "cooked." The same thing will happen if you leave wine in the trunk or backseat of your car on a hot summer day. So, try to store your wines at, ideally, about 55 F. or, at least, between 45 and 65 F. Unless you have a cool cellar or basement, this usually requires investing in a wine cooler, which is money well spent when you consider what your wine is worth.
Just as important is to avoid drastic fluctuations in wine temperatures. Shoot for consistently cool temperatures; don't put the wine where it could freeze (like in the garage) or where it'll get hot, like in the kitchen or laundry room.
To be fair, many restaurateurs don't have the room for, or can't afford, dedicated wine storage facilities. So, they tend to keep their white wine - especially the by-the-glass wines - in the same cooler where the beer is stored. Thus, it comes to the table ice cold. I can't tell you how many times in restaurants I've seen my wife with her hands wrapped around her wine glass, trying to warm up white wine. Likewise, too many restaurants keep their red wines at room temperature, which is too warm for serving.
These are vast generalizations, of course, but most dry white wines, Rosés, dessert wines and sparkling wines such as Champagne should be served between 40 F. and 50 F. Lighter red wines like Beaujolais, some Pinot Noir, and big, full-bodied whites like California Chardonnay benefit from chilling, but should be served not too cold, at about 50 F.-60 F. Finally, with big red wines like Cabernet, Syrah, Zinfandel and Port, aim for a serving temp of about 60 F.-65 F.