As every resource needs to understand it completely, read all documentation and eventually look for undocumented information. Something complex like this may have a lot of details that may go unnoticed. I'm not going to try to put everything that needs to be checked, because I'm not an expert on the subject, and I do not think it fits. My intention is not to give a definitive answer.
The main reason for frameworks provide its own mechanisms for any technology is resource abstraction.
Abstraction is one of the most misunderstood concepts in computing. It has always existed even before there were modern computers. The abstraction gives more meaning to what you are doing and puts a layer on top of the concrete, allowing the actual implementation to be hidden from the user of that resource.
One of the great advantages of abstraction is that if it is well done you can change the implementation without requiring the codes that use it to be modified. This is very important in many scenarios. It is not always possible to do well, however good the programmer. And the complication of abstraction that will be needed is not always worth the effort.
So it's interesting that these products have a form that at least does not depend on the PHP standard.
And since the standard has a relatively simple and fixed implementation, it is only natural that they provide a more powerful and flexible implementation. I can imagine a lot of things that it is possible to do in a session in addition to what the default implementation provides. There are several scenarios where the pattern does not respond well. Although most scenarios do not require any other solution.
In addition to obviously supplying more information, better integration with database and session and transport distribution, and otherwise identifying information and counting of active sessions are some examples of what can be improved.
As stated in the comments, the fact of creating your own version does not mean it will look better. Although the intention of these frameworks is to facilitate the use of resources in relation to what exists in PHP. Perhaps the attempt to do something better has left it too complex.
Most of the problems I see using the default session have to do with misuse. Ok, it may be a bit difficult to do right, but it is the programmer's obligation to know how to do this. And frameworks will have to choose between facilitating or giving a more powerful and flexible resource. What I see them doing a lot is applying such good practices. That is, they choose what is good for you, even if that is not always the best.
Given the documentation page of a function, you can get an idea of what it looks like complicated to use right, safely. But it does not have much to do when the problem is complex (though it's an exaggeration to call it complex).
I wonder if there's anything wrong with the standard PHP session engine?
If it was so problematic I'd already have enough recommendation not to use, someone would have already made a substitute in PHP. It's good to have some information here, but the problem is not in the feature, it's in the little pen between the keyboard and the chair.