Engineers at Google are not hired for specific projects. You're appraised as a good engineer, therefore we want you at Google. If you're not happy doing what you're doing, we'd like to find something you will be happy doing. But that doesn't mean you can just chop and change projects at will. It's considered pretty uncool to just quit a project abruptly without making the appropriate arrangements first. You've got to leave your work in a good state so that your teammates and successors can pick up where you left off.
I don't know anything about Steve's situation, but I would assume he did these things.
Maybe I'm an outlier, but I actually really enjoy cleaning up huge legacy codebases. Maybe there's also someone out there who likes building internal apps for performance reviews.
It seems like, at the very least, Google wouldn't keep you on such a project indefinitely if you didn't enjoy it.
On the other hand, there are plenty of companies out there that would randomly assign you to an unglamorous project -- and make it your permanent job, to boot. I've been at some of those companies. They roll the proverbial dice when you first join, and whatever the outcome, that's your fixed-in-stone role. Such companies care more about needs to be filled than about the people they're hiring.
Every company says that. When I was a consultant at IBM middle managers loved to tell the tale of the software dev who became a gardener at some IBM facility because supposedly that was what he yearned for. In practice though, you took the projects that were available or you might find yourself in a friendly performance monitoring program.
It seems like Google is a bigger offender than most tech companies. At least at IBM or Cisco they will tell you exactly where you are going to work before you accept the job offer. You will probably be stuck there or get moved around in the future and won't have much choice on what project you want to work on next. But at least you are told what you will be working on, unlike Google.
freedom like that is earned, and i'm sure not everybody at google has the same status he does.