I say blame the people. The media will only show what gets ratings, and people control ratigs. I don't think the media are out there to do anything but get money, and if focusing on certain things will earn money, then they'll do it. That's the purpose of having a job.
And same thing for the two party system. People don't want to be all that well informed. They want simple things. A or B, not A, B, C, D, or E. If the media showed all parties, nobody would watch the debates (frankly, including me.... well, even if i could vote :P)
I don't think having more than two or three parties would work all that well. Even at the beginnings of the nation it somewhat like it was today.
I think yeah, ideally people shouldn't be sheeps, there should be more parties, blah blah, but it's just like communism, in "theory" it's all wonderful, but in reality it doesn't really work.