Maintainability is how long it takes you to solve a problem. If the reliability of the framework exceeds that of code you could write then we're limiting the overall scope that must be maintained to begin with. Now on to what issues look like with frameworks, if you use the framework as designed, the code should follow convention - convention improves maintainability. If your framework can't do what's asked, it's been misapplied and another tool is needed. Using a tool improperly is terrible for maintenance
This pretty much sums it up. Narrowing the scope of maintenance is a big deal. Once I'm confident in the quality of a framework, the next question is how likely and how often am I going to need to use escape hatches for this project now and in the medium term. If I expect too many (or too difficult) escape hatches, it's the wrong tool. If I can't find a framework that I'm reasonably confident in that way, only then would I go without. If so, whatever I come up with is by default a framework. It's just probably not going to be as good as an open source one.