I think it's more about cultivating culture. It's almost impossible to build culture with 80% of your staff working remotely on different timezones. There are ways around it but it's just way better to see your team.
I disagree. Denying that online cultures exist is just as silly as denying that quality software cannot be written by remote people. You've just posted to a very distinct culture.
All of my remote gigs have had very different cultures. People communicated, friends were made, etc, etc.
Never used them, so I don't really have an opinion on oDesk specifically. I like my process to be as simple as possible and rely on hiring remarkable people. Those people tend to just do their jobs and do them well.