On the question of El Prat vs. Girona/Reus, what Ryanair has in its favour is the absence of a metro link to El Prat. The airport bus from El Prat can be quite an ordeal; I can't imagine the BarcelonaBus alternative to be much (if any) worse.
The Renfe Cercanias (suburban) train service from El Prat is infrequent (two per hour in each direction), the station is some way from the terminal buildings, and it, too, can be very busy.
So, if I was considering travelling to Barcelona, the Girona/Reus option would not look as unattractive as it might at first glance.