Snaike, indirectly it comes down to money. Directly it comes down to the US having too many top tiered professional sports. Baseball (boring), American Football, Basketball, Hockey and Golf (you can debate this being top tier). Golf, in my defense, the best tour is the PGA tour and we hold 3 out of 4 majors here.
With so many top tier sports, its hard for others to get a foot in the door. There is very little room for an overly crowded sporting calendar to support another top tier sport. Take other countries, while they may have other sports, Football (aka Soccer) is in most countries their go to sport, with maybe 1 other top tier sport depending on the country. Football has a much longer history in those countries, unlike the US whose history is still pretty short in comparison.
Most countries in the world have a more tightly knit sense of country then we do. Not our fault, we are a country made of other countries. People in Brazil, support Brazil. People in Italy, support Italy. People in the US, support the US, Columbia, Mexico, Brazil, Italy, England, Ireland, Spain, Switzerland, South Korea, Japan, China, etc. The people from those countries that now reside in the US, still support their existing countries teams, and leagues. They dont support LA, or NY, they support Real Madrid or Liverpool. So while there is still a huge interest here, much of that interest is supported for teams outside this country.
So to me, those are two larger reasons then what you have described.