I often book last minute, but it is worth booking as soon as you know dates you want to travel. What you don't want to do is turn up and buy a ticket, you'll be charged the full amount.
If booking in advance, even last minute, I'll always choose tunnel. If returning with nothing booked, always the ferry.