If you are not a programmer yourself, then there is no other options but to choose those which are already available.
Since scalability is the big question here, if you are a programmer/developer then adding and modifying features to an pre existing system is not so a big problem. Some of the reasons to consider open source softwares:
- They have near zero amateur mistakes, on coding standards.
- Codes are thoroughly check again and again by developers and other interested contributors over and over again.
- Support can be found very easily.
- Issues are regularly fixed and upgraded version are available.
- System are tested to provide maximum performance.
Which CMS would you recommend?
This is a question only you can answer. Read about the CMS itself. Learn about the features that it provides. If they are enough for what you are trying to build, then pick that one, or else see another CMS.
I can’t find any in depth detail to How flexible these are?
This is a mis-understading. CMSs like Joomla, Drupal they have been around for a very long time. They are continuously improved and debugged. Support for them are globally available through sites like Stackoverflow itself. The massive global community only expands these systems.
Many developers or agencies build plugins, extensions for these CMS system. How are they doing that? Every system can be scaled and is flexible. It depends on you, how much you can work with it.
Where as,
You are a very enthusiastic programmer, and just like to build application your way just to enjoy the thrill of bugs and enjoy banging your head most of time đ and learn a lot at the same time then why not? build your own system.