I prefer rockband if there are other people playing, and Guitar Hero 3 if it is just me and maybe one other person. Guitar Hero is much more fun to play the guitar, but having the band makes Rockband better. Four people makes it a great party game even for those not playing.
The drums are awesome, and the vocals are a neat way of doing karaoke since no one is that nervous. A whole band is playing with you so it is a lot easier to sing. Rock Band is totally better. The new Guitar Hero is supposed to have drums and vocals so the next battle of the games should be awesome.