"Windows 95" was originally "Windows 93" and explicitly wasn't going to have a new user interface. They wanted to maximize revenue and not force people to re-train. It slipped and slipped and slipped...
The UI was actually prototyped and built not on Windows NT, but Cairo -- the thing that was supposed to come after Windows NT 3.1. It also slipped and slipped and slipped...
Paul Maritz (now of VMware) thought it was a great idea to have lots of teams, under competing vice presidents, build overlapping systems technology that needed to remain compatible at the legendary Windows level.
So. Stupid.
It basically took until Windows 7 to get the mess he created straightened out.
The key shuffle had the Cairo UI developers -- but not the designers -- move from under VP Jim Allchin to VP Brad Silverberg's group. Design was managed by Joe Belfiore, a very junior guy with no design or UI design experience. Nobody wanted the job (interface was not respected then) and he manned up and took it. He's now VP over Windows Phone.
But this engineering team was sort of -- uh -- let's just say Allchin didn't really fight to keep them. The types of guys who never quite realize width is (x2 - x1 PLUS 1) resulting in everything from blurry icons to blurry images/faxes for a decade. Who then refuse to fix the bugs because they "don't see it and it would add risk to our ship date."
After Windows 95, these devs went on to build the first IE. Yet again in a mad "must ship" panic, again led by people with no visual or design experience, again under Silverberg. So that's where all the box model madness and "things just don't line up" nonsense started.