We at BlueDynamics Alliance are using Plone 5 for all current and future projects. But we do not push upgrading old Plone 4 sites.
Plone is very mature. If you use it as Plone, the product, and just add a theme and some already upgraded addons all is fine. You may find minor UI glitches. Most of them are reported, waiting for the hero to get fixed. The Javascript integration story is a bit complex, but there are shortcuts to get things done. Plone 5 is what you want. Do not start with 4.
If you go into depth, using Plone, the framework, you may end up doing Core Development work.
We are using Plone in a project with a bunch of custom and folderish types, with Tiles, Blocks and parts of Mosaic, with Lineage multisite setup and AngularJS.
In an other project we are using Multilingual together with custom language fallback indexes, fine grained field level permissions, users as content.
In another project we are again consulting a well known car manufacturer doing there 800+ sites for their distributors again with massive adaption using Lineage, only custom types, special SAML auth and lots of third party service integration.
All this works fine too. It pushed Plone 5 to its limits, bugs or missing features are popping up weekly and Pull Requests against core are more the rule than the exception.
But I really don't want to go back to Plone 4.
5 is much better, easier and faster.
I am looking forward to the upcoming 5.1 release, where again massive work was done, now primary aiming at stability, code cleanup and some new features such as the Actions ControlPanel for improved TTW hackabilty.
There are still some PLIPs open and may get merged before release. If not they will end up in 5.2 or maybe 6.0.
Future plan is to stick more to semantic versioning and so a upcoming major release 6 must not mean it's such a big step as from 4 to 5.