I just thought it was because most roads in Europe's cities were originally just designed for foot and horse traffic
Mine was a joke. But anyway...
yes, there are multiple reasons why American cars have always been heavy and big, while European cars light and small.
Size of the roads, availability of parking spaces (try parking a Cadillac Eldorado in the average European city, good luck

) etc... but most of all (my opinion, of course) it was the oil supply.
Most European countries have none/very little oil resources, so pretty much any oil we use has to be imported, which makes it pricey. Now, the Europeans loving their free health policies, means that we're paying heavy taxes on oil (which is ok, at the end of the day you're still paying for your doctor, either through taxes on oil, salary or private insurance). The combo (import + taxes) means that what we pay for a litre of oil in Europe is shocking. Therefore, cars need to have small engines. Small engines force you to have less weight.
On top of that, there's the cultural factor, much harder to put your finger on. But for one reason or another, most Europeans paid more attention to fine pieces of engineering, while Americans more to the size.
In any case, I think things are getting more and more similar between the continents.