When I originally stumbled upon DNN, I thought it was a great "open source" framework for a portal system. And I still do.
Because it's open source, there are issues with it. My pet peeve? CSS!
Why the core development team didn't standardize the definition of skin linked style sheets is beyond me. Each independently written skin utilizes it's own CSS on top of the base portal skin...portal.css. Which is fine with normalized templating.
The result? Incongruent class definitions making it difficult at best to format a portal to one's liking.
In my opinion, they should have provided a base CSS template file, which they did BTW, BUT provide a "standard definition" for skin linked .css files to adhere to a common classing convention. Crazy class overloading found throughout 3rd party skins and themes!
Because of this, it is insane at best to apply different skins to a portal with normalized, expected results. One has to stumble through a skin linked .css file and add/delete/rename classes not included in comparison to the base portal CSS file.
I think I might take the time to write a CSS validation module to examine all linked .css files in a site to evaluate against a COMPLETE "Core" style sheet and then point out differences, and change suggestions to normalize the classes defined in the skin linked css files.
I.E. - ModulenameClass within template.
Also, it would seem as though some of DNN's core modules have the styles defined within the compiled libraries instead of externally linked css files. Some do, some don't.
In short, styles definitely needs some work here!