I'm a bit late to this discussion but hopefully I can provide a POV…
I got my start developing in PHP. I don't have a Com. Sci. degree (B.Com. in case you're interested) yet I have an analytical mind and found it very easy to get things done in PHP. But it wasn’t OO and it was very scalable at the time so we went to .Net (even as Yahoo! was switching to php). Since then I have not had the same deep understanding and control of my projects. I have had to hire developers to do many things I once could do myself. I don’t own VS since it would be a big distraction of my time to learn to code at the .net level. The tools are expensive and have prohibitive learning curves. Needing them makes DNN expensive and prohibitive too.
This distance from the code to website has been a frustration of mine about DNN in general. On the one hand we have a core team and development community that is comfortable & competent opening VS and making the logic work. On the other hand we have many end users that need to update text. I see a gap in the DNN community in the middle ground (where I work).
I want to produce websites. I want to solve client’s goals from branding to analytics. I want to spend money on good modules that adhere to the requirements of DNN and the internet at large. Occasionally I want to spend money on custom modules for specific functions. In general however, I need to control my environment and installation without open programming tools.
Not needing them requires we speak the same language, aka web standards. Standards are not a top down ideology – they are a common understanding for all in the community. The better the programmers, producers, designers and users can communicate, the better the experience will be for all.
Joomla and other LAMP communities have a mind set that requires compliance on a near religious level. Hence they all know what a TD actually means and can move forward enhancing it properly. This is why they tend to look so much better out of the box.
But… in DNN I trust. So with DNN I stay.