Python 3 provides many improvements over Python 2 including: 1) Improved comparison of different data types, iterators used more widely to reduce memory usage, and keyword-only arguments for cleaner function definitions. 2) Exceptions are now handled more cleanly with exception chaining and specific exception types for I/O errors. 3) Common library names and structures were standardized and new features were added like path handling, caching, subprocess management and async/await syntax. 4) Overall Python 3 rationalizes the language and standard library for modern use cases.