L'utilisation d'une solution technique éprouvée (CMS ou dérivé) est toujours très recommandée sur un site en production. Produire un site de 0 demande beaucoup d'expérience (et du temps) pour sortir quelque chose de sécurisé. De plus, cela favorise aussi la maintenance et l'évolutivité.
Ensuite, concernant ton cas particulier :
Niveau développement, l'utilisation d'un framework est-il ultra conseillé => Oui. Si tu t'en sers correctement, ca t'évitera un certain nombre d'écueils genre injections SQL ou XSS.
- Java ou Php ?
=> PHP, pas de raisons particulières de faire du java pour un site perso.
- Apache ou Nginx ?
- MySQL ou couchDB ?
Apache / Mysql si tu veux faire "comme tout le monde". Ce que tu veux si c'est juste pour apprendre ou t'amuser.
- CSS ou javascript (menu déroulant, barre de progression...) ?
Les deux mon capitaine. Ce sont des technos complémentaires.