Money makes the world go round, and greed is good.
What is the sports viewing general public? They aren't young people, young people care about reality TV, fashion, and other things like that. The general sports viewing public is middle aged to old males, who may or may not drag their children and/or families to games.
Why do these middle aged to old males like basketball more then they like soccer. Is this really a question that needs to be be answered? No but you asked so I'll answer. People like sports that they enjoyed as a child. None of the Baby Boomer Generation ever played Soccer as a kid. So as adults they do not follow the sport at all because they don't recognize it as a real sport.
What do those things have to do money you might ask. Here it goes, people played sports for a variety of reasons but the people who had the most drive to tap out whatever talent they have come from the poorest of neighborhoods. This kids find athletics either for a free college scholarship or a chance at a pay day in the pros. In either case they want to try and break the poverty cycle, and there was never a soccer scholarship or professional career available to those children. There was no American star to emulate. They had a chance of breaking the poverty cycle they were mostly otherwise doomed to be in unless they played Basketball or one of the more traditional sports available to Americans.
It wasn't until Landon Donovan, Demarcus Beasley, or Kasey Keller that there were American star soccer players, now their are not many but some college scholarships and some chance of being a pro soccer player, an opportunity as foreign to the older generations as sexting. There can and I expect will be slowly growing soccer fan population as people recall playing soccer as a kid and become older generations who sit in stadiums and in front of the TV watching sports however like I said the majority of sports watching people are old and so it may take many decades before they have a major share in public appeal.