I write software for a living and spend 7+ hours staring at a screen on virtually any given day. I like the comfort of a big monitor and the liberty of switching positions in my chair as I see fit. Laptops tend to lock you in one position where your hands and eyes are roughly always at the same distance from the screen, which can't be good.
Building your own machine *can* be fun, if that's what you're into. I can lock myself up and entertain myself for an entire weekend with as little as a 90s machine, a router, and a compiler. On the other hand, hearing about the latest advances in graphic cards bores me death. YMMV.
As dahlink suggested, the mac mini is a good option if you want the advantages of a desktop but need to move it around. I have a mini at work, but if for some reason I need to work on something from home, it fits easily in my messenger bag and I can hook it up to a monitor at home and boot it up in minutes. I would check if that's still possible, but at least in the model I have you can upgrade the RAM yourself (it's easier than changing the air filter in your car), which means you don't have to go through the Apple Store racket and pay $200 for RAM that costs $50.
As far as laptops go, I used to believe that paying extra for a "business" laptop (thinkpads and square-ish dells) was worth it for my peace of mind. Now, would you rather buy a consumer-grade clearance machine for $300 every 2-3 years or a $1000 thinkpad every 4-6 years? Most laptop vendors won't even sell you anything with less than 4 gigs of RAM today anyway. The machine isn't important, your data is. Which brings me to...
...backups. Computers fail. All the time. Make backups. And then backup your backups.