Sicuramente tutti e tre sono in grado di fare quello che tu descrivi.
Posso dirti che con Drupal (piattaforma sulla quale ho piu' esperienza) puoi raggiungere il risultato desiderato installando la versione 6 e i seguenti moduli:
simple news per la creazione e la gestione della newsletter
Per garantire l'accesso a determinati documentii puoi settare i permessi per i ruoli che andrai a creare, oppure puoi installare il modulo restricted content
Un altro modulo che ti consiglio e CCk per la creazione di content type specifici in base alle tue richieste.
Per manipolare il codice ed aggiungere funzioni, ti consiglio di cercare nella cartella del tema che utilizzerai , i file .tpl.php (ad esempio page.tpl.php) dove potrai modificare a tuo piacimento il codice che genera pagine/nodi e blocchi.
Usare Drupal per un sito con poche pagine , potrebbe essere un "overkill" , wordpress risulta piu' semplice da usare in casi specifici (forse) come il tuo.