Moodle has a modular architecture allowing you to customize features by creating modules and plugins. There is large community plugin directory which you can utilize to extend your LMS.
It seems OpenEdx And Chamilo also boasts of modularity however when it comes to contibuted xblocks, the number is few.
Once both the systems are installed, Chamilo requires less technical expertise than Moodle and OpenEdx. For example, once you have created a course and published and you want to hide it then Chamilo offers a GUI which a trainer can utilize whereas Moodle will require server access and expertise to do the basic functions like these.
Open edX is the massively scalable learning software platform behind edX. It is also the learning platform of choice for global organizations such as Microsoft and IBM.
OpenEdx doesn’t have a large community supporting it. Infact there are very few commercial companies offering support with OpenEdx. Whereas Moodle has a large active community base with varied experience from different domains. There are many Moodle partners and freelance developers out there to support just in case.