We’ve been open source since late 2008. In that time we’ve had 40+ version releases, 6 major ones, and we’ve always maintained backward compatibility. You can take a 5.0 website and hit “Update” all the way through 22.214.171.124. It’s always been important to us to keep everyone moving forward together.
For the first time in 6 years, we’ve decided to not put backward compatibility first and foremost. We really wanted to have a clean slate, so we could embrace ideas that involved deep changes to the system. The ecosystem of 3rd party tools and PHP itself has changed quite a bit in the last half a decade, and we don’t want to be stuck in the past. There’s so much good new stuff in concrete5.7 that we’ve been able to include because we simply decided folks would have to migrate by hand instead of upgrading with a single click. We know that when you start playing with 5.7 you’ll see why we made this hard choice, but we want you to also know we’re not going to abandon upgrades again lightly. Wordpress NEVER does this, Drupal ALWAYS does this - we’re right in the middle: once every half a decade or so seems reasonable.