It depends on a position: castling of the opponent, kingside/queenside activity, control of the centre, etc.
which castling is better?

long castle easily activates the rook
Every move has a strength and a weakness. The main strength of O-O-O is that it develops the rook immediately to Q1 without requiring an extra move to play R-Q1. The main weakness of O-O-O is that it places the king one square away from where it should be--at QN1--which means an extra move is required to play K-QN1. Therefore you don't save a tempo by favoring O-O-O over O-O (which I used to believe when I was younger).
I'm assuming people here know that after O-O-O the king needs to move K-QN1. I believe I first saw that explained in Fischer's book "My 60 Memorable Games." I see a lot of games, though, including a few by masters, where the castlers don't seem to know that extra move is required out of practical necessity after O-O-O. Sometimes they wait until they are about to run into trouble before they shift the king over, which I suppose is OK, although not as wise. (If your opponent lost a tempo then you might not need to make that extra king move at all: you can start attacking right away.) You'll notice in such games without that extra king move after O-O-O that the king almost invariably runs into trouble within a few moves, especially by a check along the diagonal leading to QB1 (usually by a bishop), or an attack on the pawn at QR2 (usually by a knight). Fischer was right about that, and I follow that practice religiously, except in the unusual circumstance I mentioned.
As Wit1991 said, it depends on the position, too. Even within the same opening or opening variation (e.g., Najdorf Sicilian, Petroff's Defense), the best side to castle can vary.
Just as Witt1991 said, it depends on many things most of all the opening and response to that opening. Yes, the King should move to B1 but the King side castle usually needs the rook to move to E1 to attack the center. So it really depends on lots of things. Following classic opening lines of play you should know when it's prudent to castle and which direction best suits that line! Those who don't castle or don't castle at the right time find the error of their ways quickly against better players. Castling is a piece, time and space developing move don't discount its importance ever!
long castle easily activates the rook