sudo /usr/libexec/locate.updatedb
It's not that. I've updated the db (and I let update it periodically, via launchd) but it still won't find everything (not even regular user-owned stuff).
Yeah, I had come across that one. Then again, you first have to know it exists. Apple won't warn you nor inform you. And when you investigate and find out, it's usually because the regular Unix tools have already wrought havoc.
It's a case-preserving filesystem by default. Because it's a Mac and needs backward-compatibility.
Whatever. Have fun developing on a case-insensitive file system and not noticing case mismatches that will suddenly stop the show when you run your stuff on a proper Unix.
http://menphix.wordpress.com/2010/04/24/how-to-use-cron-in-mac-os-x/
That won't work, from at least 10.6 onwards. No cron by default. If you want it, you must use it in addition to launchd. If you want to start cron at boot, you have to tell launchd, by writing freaking XML!
Sounds to me like you don't like it because it's different from what you're used to and you don't know what you're doing because you didn't RTFM.
I don't like because it's a bastardized Unix that's not nearly Unix-like enough.