To use the GP's example of Postgres: I care a whole lot more about my data than anyone at Canonical does. It would be a firing offense to trust that Canonical handles a database software and data upgrade correctly.
It's also why you can easily set up your own repo in two stages: one that updates from upstream automatically, so you can test changes, and one that never updates except when you specifically update a package: that's the one that your production runs on.
With proper due diligence on our part I trust the package maintainers to make less mistakes than if I have to do it all by hand :)
I've mainly used mysql and never lost data due to an upgrade (we backup before an upgrade anyway), YMMV of course.
Are you talking about minor-version upgrades, security patches, etc? Or any kind of upgrade? I think there's a big difference.
In the case of minor-version upgrades or security patches, what exactly is apt-get taking away from you?
It seems the most sensible way to install software, since it will automatically be upgraded with everything else.