dipende da che obbiettivi hai in mente. Se vuoi arrivare a programmare in dinamico (per esempio) sicuramente la conoscenza più approfondita va a giovare.

Inoltre certe soluzioni, certi dettagli, si coglono solo conoscendo e analizzando il codice.

dipende, io preferireri sapere bene e usare scorciatoie, anzichè usare scorciatoie senza saperne il significato di cosa si sta producendo.

insomma, dipende