They can't be uninstalled because they are installed in a compressed read-only filesystem that is expensive and risky to rewrite. This engineering compromise forces you to look at the icons of applications that you don't want to look at in exchange for more functionality from a cheaper device.
We all wish this was some conspiracy by the carriers to force you to expose your personal information to Facebook, but the reality is, it's a convenience for the 99.9% of people that do want to use Facebook. It would be inconvenient if phones came with no applications. It would be too expensive if every phone shipped every application on every Android market. So the carriers aim somewhere in the middle. The rest is an implementation detail.
A feature to "soft delete" applications in Android would be nice; instead of physically deleting the bits from the filesystem, just hide the icons and intents. I'm sure a patch implementing this would be most welcome.