Currently main a 16" M1 Pro MacBook Pro. About half the time it's connected to a Thunderbolt dock, 27" monitor (and sometimes a second monitor), keyboard + mouse/trackpad, ethernet, external SSD(s) at least for Time Machine, webcam, good mic on a shock mount arm, speakers, etc. I very rarely push the thermal limits or ram. It's incredibly useful to me, at least psychologically, to be able to pick up my main machine, with everything already on it, and move somewhere else in the house or get out of the house.
I do own some desktops but mostly use an older small gaming rig that can double as a dev machine but except for the GPU and SSD space it's weaker than my MacBook. It's actually small enough to throw in a large laptop bag with kb+mouse and a travel monitor but I rarely do that.
Only have a laptop but work purchases docks with large (or multiple) monitors and nice keyboards, so everyone does that and only opens the laptop lids when in meetings or traveling.
All depends on how you work and what you're doing really.
came to say the same. even ignoring the almighty budget issue, there are too many different use cases, even scoped strictly to software development.
backend dev juggling a number of microservices? mobile dev needing to run iOS and Android emulators? web dev needing to run multiple browsers? principal eng who spends more time reading, diagramming, and experimenting than writing production code? embedded dev who needs to test on custom hardware?