Perhaps the most interesting result of the election was the drop in votes for smaller parties: the ERC (Republican Left of Catalonia), which advocates independence for Catalonia, went from 8 seats to 3. Another of the regional nationalist parties, the Basque EAJ-PNV (Basque Nationalist Party), lost one seat to go down to 6. The left wing IU (United Left) went from 5 to 2 seats and the party leader, Gaspar Llamazares has since announced that he would resign. The few remaining seats went to CC-PNC (Canary Island Coalition - 2 seats), BNG (Galician Nationalist Bloc - 2), UPyD (Union, Progress and Democracy - 1 seat) and Na Bai (Navarre Yes - 1). The Aragonese Council and Basque Solidarity parties did not garner enough votes to win parliamentary seats.
So, why did Z's PSOE win in the Congress of Deputies? Well the consensus among people I've talked with is that people voted against parties rather than for a party. Perhaps people were tired of the squabbling caused by the smaller separatist and nationalist groups. Perhaps the PSOE's publicity aimed at making people frightened of the PP worked. Perhaps the PP's own broken-record mantra of fear mongering against immigrants and bemoaning the decline of "Spanish" family values put people off. Perhaps no other parties seemed to be offering meaningful alternatives. Perhaps people simply preferred Zapatero to Rajoy, as opposed to the PSOE to the PP. (Surveys indicated that Zapatero won the televised debates he had with Rajoy, which were watched by many Spaniards.)