Russian vowel letters sound the way they are spelt only when stressed. When not stressed, you generally only have three options - a/o vowel (but closer to [a]), i/e vowel (like in "hit"), and u (like stressed [u] but shorter and weaker).
(this is a simplified model that does not take into account that some syllables are even weaker)
Shady_arc is correct, of course, as he's a native speaker. The Russian о will sound like o only when stressed. However, when the о appears in the syllable immediately before the stressed syllable (for example, in вода), it will be pronounced a bit more like an English a ('ah'): vah-DAH. In any other position, Russian о is a very short, indistinguished vowel, what we call schwa in English, like the o in the English word 'lemon'. In English, we often use 'uh' to represent this sound, but it's even shorter than the u in the word 'sun'. So that's why a word such as говорит is pronounced guh-vah-REET, and хорошо is pronounced khuh-rah-SHO. Here's another example: озеро (lake, pronounced O-zyi-ruh) and its plural, озёра, pronounced ah-ZYOR-uh). The prononunciation of the initial о shifts from an actual o sound in the singular (because it's stressed) to the ah sound in the plural (because now it is in the syllable immediately before the stressed syllable).
Yeah, I know. I usually stop at the basic level for beginners because as soon as you mention the second-grade reduction and how pre-tonic syllable is stronger, you also need to note that the absolute initial and absolute final vowels are clearer, too (e.g., the last vowel in озеро or это is more a-like than in озером or этот).
There can even be a bit of a distinction between Ваня, Вани and Ване, though they still overlap a lot (I think I mostly pronounce them the same)
And that is just too much :)
I know what you mean. I'm not a native Russian speaker, but my Russian is pretty good, as is my understanding of Russian pronunciation. But when I was a beginner, I found that the vowel о posed special problems for me, because as a native English speaker, I couldn't get the idea of it sounding like an actual 'o' out of my head (it was the visual of actually seeing the 'о' that kept throwing me), until I forced myself to understand the difference in pronunciation among stressed, pretonic, and other positions. I think that, for a native English speaker who's willing to make the effort to pronounce Russian correctly, the discussion of these distinctions may be quite helpful. Anyway, the more information the better, right? People can take what they want and leave the rest. :-)