There are indeed advantages to both options, but the choice of system will largely depend on the system requirements from a functionality perspective. The case for a custom build can only be made effectively if the system functionality requirements cannot be served by the open source alternatives.
The reasons for this are as follows:
In the past, open source systems received criticism for security vulnerabilities and a susceptibility to getting hacked. The issue was that, as source code is within the public domain, committed hackers would be able to easily acquire the source code and work on exploiting system vulnerabilities which could, potentially, give them access to thousands of systems. In the past, this was perhaps the biggest reason for going custom build.
In recent years, the mainstream open source CMS systems have really tightened-up on security with frequent updates being issued to keep ahead of the hackers. While issues still remain with older open source CMS, the newer versions – provided they are frequently updated – are as robust, if not more so, than their custom-built cousins.
In contrast, custom-built CMSs are often the brainchild of a single systems architect and, whilst other developers within that agency are able to offer superficial support, it is often the case that no one really knows the system like the lead developer. This can often be debilitating to the speed of developing add-on functionality later within a project (if the lead is tied-up on other projects) but, in a worst case scenario, could potentially cause terminal problems to future support and development if that lead developer leaves the agency. Custom-build carries an implicit long-term tie-in to an agency and this can have dangerous consequences when a business relies heavily on its web presence and web systems to operate.
There are of course caveats to a system being easily portable from one agency to another. The original build has to be executed to the highest of standards with coding following to the letter of the guidelines provided by the individual platforms.
As an agency, we have in the past (and, in fact, again very recently) adopted a project where the execution of the coding for almost all of the add-on peripherals was in a pretty nasty state. It takes time to unravel the mess and, for this reason, it is important that the team building the core system have a number of years’ coding experience with open-source CMS so that in the future the system can be easily adopted by a third party. All systems built by BORN are to such high standards.