Python 2 から Python 3 へのメジャーバージョンアップの際に、後方互換性を大きく損なうような機能追加や仕様変更が実装されています。

Python 3が後方互換性を捨ててでも求めたもの にもあるように、Python の設計思想をより高次元で実現するためにはこのような大規模な変更が必要らしい。

2 系から 3 系への移行の際に一番参考になるドキュメントは公式の Python 2 から Python 3 への移植(日本語 / 英語 ) でしょう。また、Dive into Python 3 (日本語版): 2to3を使ってコードをPython 3に移植するも参考になります。

以後のページに Python 2 から Python 3 への移植から重要そうな内容をまとめておきます。