The Democratic upset in a recent special election in New York-26 has been explained as a push back against the Republican Medicare plan by the Democrats or the big spending of the tea party candidate by the Republicans.
I won't dismiss these as contributing factors, but they don't explain the larger issue of why Republicans lose special election after special election, even in Republican districts. One thing that stands out is that Republicans won two special elections that were actually held on the day of the 2010 congressional elections. Indiana-3 is very Republican, but New York-29 is a little less Republican than New York-26.
You look at the date and say, "well, of course they won that election. It was on the same day as a big Republican win." True. That's exactly why they haven't been able to win the other special elections. They weren't on days when there was a big Republican turn-out. Take a look at the three elections:
The 2011 election had 44% of the 2010 election turn-out and 35% of the 2008 turn-out. Hochul didn't even get as many votes as the 2010 candidate got in a bad Democratic year. Yet, she won, mostly due to turn-out. Special elections only get the hardcore voters. The most important thing isn't candidate or advertising, but the party's GOTV-ground game. The Democrats only needed to turn out 44% of their 2008 voters to beat the Republican party's anemic 29%.
The Democrats have a good "ground game" and the Republicans have a terrible one. I don't know if it's national Democrats coming in from elsewhere or tremendously good local organizations, but the Democrats got people to the polls. On the other side, again and again the Republican party has been unable to get their voters interested in special elections.
Apparently this isn't something easy to fix. The Democrats' GOTV is just head and shoulders above the Republicans. As long as that's the case the GOP will keep losing special elections regardless of issues, third party candidates, or district PVIs.