Speech recognition, as it relates to software, isn't what one might call a perfect science. There are still a number of bugs and glitches to fix in even the best transcription software out there. It's difficult to accurately determine what someone is actually saying at any given time, let alone having a computer try to do all that for you. That's why Microsoft's recent demonstration is so impressive. Not only did they manage to show off a decent automatic transcription of the speech given, but they then managed to translate that into spoken Mandarin using the speaker's own voice.
Vocre is a new iPhone app that is trying to make real-time speech translation a reality, and if their videos are any accurate representation of how the app actually functions, they're doing a bang-up job. The way it works is by taking what you've said, converting it to text, using its own machine translation to translate it to the specified language, and then actually saying it via iSpeech. All you have to do is select the language and the gender of the person you're talking to and Vocre (apparently) does the rest. The actual implementation is a little awkward in that the translation is triggered by accelerometer. It makes sense to a certain extent; you lean the iPhone towards you to talk into it, then towards your coversation partner which triggers the translation and gets the microphone into position for them to talk. Still, I can imagine situations in which being required to do this would be awkward.
Google Translate is by no means a perfect translation service -- you're still going to have to invest in those language classes if you want to be able to fluently communicate with speakers of foreign tongues -- but if you remember the online wasteland that preceded it, you'll know it's pretty darn good at conveying the gist of what you're trying to express. Also: That 'detect language' feature saves you the hassle of fiddling with lots of dropdown menus. So how does it do it?