One of Matt's commenters asks, in re Rudy:
Why do New Yorkers keep voting Republican? I don't care if they think it's cute-- they keep saddling us with awful ex-mayors who see it as a launching pad for national office. Enough. Vote for a greasy dem who's satisfied with a little graft and a few laughs and stop saddling us with egomaniacal, semi-authoritarian dweebs!
They vote Republican because the whole city is Democratic.
Let me explain.
For most offices, like city council, the Democratic primaries decide the election. That means that there are a lot of extremely powerful interest groups with very powerful electoral machines invested in the primaries. And they are far to the left of both America, and most of New York, which is why City Council meetings tend to sound like the forlorn remnants of a Socialist Worker's Reading Group.
These groups tend to nominate mayoral candidates who are a) fairly far to the left and b) extremely noticeably in hoc to many small interest groups who are not popular with most of the voters. However, a mayoral race is high profile enough that all the people who normally just reflexively vote Democratic will actually know something about the candidate. Like, for example, his name. And what makes the candidate popular with the interest groups almost definitionally makes them unpopular with the broad electorate.
The Republicans, meanwhile, nominate socially moderate, and somewhat fiscally conservative candidates who resonate with the majority of New Yorkers who are not members of a government union or activist group. Hence, Rudy and Mike.
Term limits, it should be noted, have made the problem worse; with the professional pols out, the little interest groups have grown noticeably in power. So New York may be facing Republican mayors for some time to come.