Which is better? Also is it better to book in advance or wait until last minute to get better deals?