This is a good question, honestly. The easy answer would be "Because nobody actually votes for members of Congress; they vote for the party they belong to, so as long as the same person keeps running, they're unbeatable." But there's clearly more to it than that. For one thing, Congress as a whole always has abysmal approval ratings, even among members of whatever party is in the majority at the time, but individual members consistently score very high with their own constituents. For another, consider primaries. Primaries have even worse voter turnout than off-year elections. The only people who bother to show up are the kind of people who are the most engaged with the democratic process. And in order to even get on the ballot in November, incumbents still have to beat any other member of their own party who would seek to challenge them, in a race decided entirely by those highly-engaged voters. I wonder how many candidates there typically are in downticket primaries. Two, of course, would be the ideal number for giving incumbents a serious challenge.
I really ought to be paying more attention to elections in Maine and Alaska. I keep saying ranked ballots would solve a lot of what's wrong with our system, but I'm neglecting to collect useful data about how it's going for the few places that actually use them. Hell, until I recently looked up what other countries use them, I had thought last year's referendum in Alaska to do away with them had succeeded. Could have sworn the media was reporting it as such. Maybe there was a recount. Alaska is particularly confusing because somehow both major parties are able to send multiple candidates to the general election, which makes me wonder what the hell primaries are even still for.