JSF 2.0 provides many new features and improvements over JSF 1.x including built-in Ajax support, easier component development through annotations and resource handling, additional scopes like ViewScope, and a Page Description Language (PDL) based on Facelets. It aims to address issues with JSF 1.x like performance, exception handling, and reduce unnecessary configuration through conventions over configuration.