Theory says to castle early; however, theory is just a general guide and the position of the game should be the main consideration. (Also, consider the level of those in the matches vs the level of your opponents.)
Check out the 11:33 point of this video where GM Yasser Seirawan uses a position in the Pirc defence to delay castling.
When I watch chess matches, it seems to me that castling is done very early. Often within the first ten moves or so. However, I see those, more in my opponents, who will wait to castle, ostensibly waiting to gauge their opponent's offense. Sometimes they will wait well into the game. What do you see as the advantage/disadvantage of castling early or later?