mira, yo me encontré en la misma disyuntiva, mi intención es hacer una red social para jugar al rol, en este momento la podes visitar en
www.draconomicom.com.
espese a analizar las posibilidades con cms, de distintas características, yo trabajo con c# o php, realmente no tengo inconveniente con el lenguaje, también soy diseñador industrial y con lo que eso significa en cuanto a conocimientos de diseño. por la conclución que llegue, el CMS funciona siempre y cuando vos seas un experto en la materia para poder llegar a personalizarlo como quieras. yo use joomla un tiempo largo, y realmente en pocos minutos podias hacer maravillas, pero la personalización puede llevar muchísimo tiempo.
Empezar de 0 tiene muchas ventajas, siempre y cuando vos quieras personalizar algo muy clave, yo arranque de 0 con mi pagina en php, resulto muy bueno, y tarde poco, cuando quise ampliar con el tema de usuarios, registros con mas seguridad etc. empeso a complicarse, son muchas lineas de codigo para que quede estable y seguro.
Por ultimo que es lo que estoy ahora, uso un framework php que se llama Laravel, realmente al principio entender el sistema MVC se complica, y laravel hasta agarrarle la mano cuesta un poco, despues es mas sencillo, lo bueno es que tiene muchísimas cosas pre programadas como usuarios, registro, el ORM (acceso a datos a través de objetos y no de consultas SQL), la seguridad, todo ya viene empaquetado, una ves que te acostumbras vas como piña.pero lleva aprendizaje adicional.
Conclucion:
depende de dos factores = Tiempo y personalización
Poca personalización poco tiempo = CMS (en un par de dias lo tenes)
Mucha Personalización poco tiempo = desde 0 con php (pero no podes hacer algo muy escalable, o si, pero lleva muchísimo mas tiempo)
Mucha personalización mucho tiempo y mas calidad = Framework, te recomiendo laravel si recién arrancas, el 5 viene con un sistema de autorización por redes sociales que es impresionante, y viene con bootstrap, ya lo deven estar por actualizar al bootstrap 4
cualquier cosita mandame un mail.