The W3C Markup Validator is a powerful tool for checking that your XHTML or HTML is free of errors. Unfortunately, it suffers from extremely unfriendly error messages which can make it hard for newcomers to validation to understand the problems with their markup. The team behind the validator released a brand new version yesterday which incorporates a number of improvements that have previously been trialled in beta releases (changelog here).
The most useful feature of the validator, at least for new users, is “verbose mode”, which adds detailed human-readable explanations to every validation error. Unfortunately, verbose mode is not enabled by default and must instead be enabled using the Advanced Interface. Personally I would like to see this option available from the main page as it dramatically increases the usability of the validation results.