In many of these demonstrations I noticed one thing that was bugging me: Even though the voice recognition in Android seems really cool (I don't have JB yet), it doesn't give definite audible confirmation of the command in many cases and sometimes it even requires user interaction with the screen.
Now personally, I already believe that speech input is kind of a gimmick in itself (try using english voice recognition with my address book filled with german names...), I believe that to even have a chance to move from gimmick to useful feature, it must work without user interaction on the screen.
"Play <whatever band name>" followed by "beep" and the a button to press on the screen doesn't help me. A useful response to "play <insert band name here>" is "playing <insert band name here>" followed by actually playing it.
Or "call <some name>" - if you just get back "calling" or even just a beep - how would you know whether the recognition was successful or not and the correct name has been recognized?
Some commands on Android seem to be doing fine (the weather example), but others fail in one way (the play example seems to require user interaction on the screen) or another (the "turn on wifi" command doesn't produce any audible confirmation or error message - just the same beep sound as if it worked).
Siri, while it might not have as good a recognition as the Android solution, is much better in that regards: It always confirms your command. As such Siri seems moderately more useful as an additional input method whereas Android, by forcing you to look at the screen when inputting a voice command, reduces this to a gimmick and nothing else.