And they mark up for it.
Building your own, if you know what you're doing and know what you want is usually cheaper. But it does require work on your part, and while most of building a computer is pretty trivial some stuff (like correctly wiring a case to a mobo, or properly applying contact paste for a cooling fan) can really hold people back. Also, time and space.
Not really. It's hard to find as cheap parts that they use in the pre-built stuff. A quick look at NewEgg shows a Windows 7 mini-tower, AMD dual core x64, 4GB RAM, 320GB HD, AMD Radeon HD, integrated sound card, gigabit Ethernet, and 150W power supply for $229. Even if not a Cyber Monday price, picking the cheapest of everything quickly surpasses a pre-built PC these days. And for me it's difficult to pick the cheapest of every component.