Документация и комьюнити.
Если код высоко-абстрактный, то есть смысл разобраться сначала в бизнцес-процессах, которые он реализует (врядли относится к цмс)
Если код реализует какие-то шаблоны, то, возможно, полезно будет сначала понять суть работы шаблона перед тем, как разбираться с его конкретной реализацией (тоже не факт, что часто встречается в цмс).
Ну, чисто теоретически, если проект уж очень огромный, возможно есть смысл понять философию и стиль разработчиков для начала. Но это уже из области философии и психологии, скорее.
В целом спотыкаться, тормозить и не понимать сразу - это нормально при разборе чужого кода. Особенно, если это не популярные, открытые, обкатанные решения.