There is a cookbook entry explaining the differences in depth.
One of the most important differences is code organisation. The bundles (which replace and enhance the idea of Sy1 plugins) are an excellent way of sharing code between modules / applications, helping you to create one strong backend and multiple frontends of your system. Even the public assets are now bundle-dependent, and not application-dependent.
The latest Sy2 comes with a great dependency management, Composer. It is the most intuitive way of reusing code from other sources and focusing solely on the development of your specific application logic / backend.