@Pureferret I'll leave the argumentation to other, and I'll just tell you what Panels (mostly page manager really) provides, and you can decide for yourself.
a) Typed data. Everything in Drupal tends to be an array of arrays of arrays of arrays. (Dictionary I believe, in python parlance) That's convenient at times, but makes it really hard to require certain data. It's common to have non-descript errors that are really hard to trace, because your array can get passed through a hundred functions before some key needs to be used, and things blow up only then. Page manager wraps a lot of thin…