It's been over a seek since the election results came in. Most postmortems have pointed to the growing unpopularity of the war in Iraq and the lobbying scandals as the cause of voter dissatisfaction. Both of these are valid but I think that there is a more fundamental issue - the lack of any notable achievements in the last two years.
To examine events more closely, first there has been a move by the Republicans. It hasn't been to the left, it's been more "down". Rove and company decided that Libertarian principles were not going to win a permanent Republican majority. It was easier to buy the electorate with pork barrel spending. That's where the lobbyists come in. It's also why government has been growing at a rate that dwarfs the Clinton years.
At the same time, the party has been playing to issues voters. These are the socially conservatives who don't mind big government as long at it holds their ideals. These people will vote based on a single issue, often abortion or gay rights or guns. There are people who vote the other way, of course, but they are outnumbered and most would never vote for a Republican, anyway.
The Libertarians grumbled but the Democrats are their natural enemies so they didn't have any other place to go.
All of this left an important but small number of swing voters. These are mainly moderates and they the ones who vote according to the "direction the country is headed in".
The best way to court swing voters is with a record of accomplishment. Not everyone likes the No Child Left Behind Act or the Medicare Drug Plan but they were significant achievements. They were also accomplished years ago.
When Bush was reelected in 2004 he promised to use his mandate to reform Social Security. In reality, his proposals were only moderate reforms and were very similar to ones that had been suggested previously by both parties. Regardless of this, the democrats jumped all over his plan, insisting that he was going to ruin Social Security. Instead of fighting back, Bush caved. This probably cost him Congress.
There were a few chances to salvage things. After Katrina demolished the Gulf Coast, Bush and Congress could have made a big deal of cutting pork to help Katrina victims. This would have made the entire country feel like they were helping. Instead, the Congressman from Alaska threatened to resign if they canceled his "bridge to nowhere" and Congress let him off the hook.
Fiscal conservatives started a "Porkbusters" project. Republicans' natural allies were working against them.
The failure to accomplish a major goal is why Clinton lost Congress in 1994. Universal health care was going to be his legacy issue. He even put his wife in charge of the project. It dies before it was submitted to Congress. Even while controlling the White House and Congress, they could not get started on health care. No wonder the electorate turned its back on Clinton a bit over a year later.
This works as a general explanation for why Presidents normally lose seats in congress in their 6th year. By that time they either have passed their agenda or had it fail. Either way, Presidents seldom have significant accomplishments after their reelection. The swing voters see this as a failing administration and vote for the other side.
The democrats now have a short two years to rack up some accomplishments of their own or the voters will swing the other way.
At the same time, Republicans will need to build a new coalition that is exciting enough to attract voters. The pork barrel strategy that they have been using for the last several years will not work when the other party controls spending.
UPDATE: Jack Murtha, Pelosi's candidate for Majority Leader, lost big. Pelosi lost bigger, showing that she does not have much control over the House Democrats. This is probably good news for the Republicans.