Вы можете достичь того же самого, используя подклассы, и на самом деле вам даже не нужны подклассы - вы также можете достичь того же, просто заключив метод в другой метод и переназначив его. Было много дискуссий о том, должен ли синтаксис декоратора быть добавлен к языку, так как он не позволяет вам делать что-то новое и требует от программистов изучения еще одной новой вещи.
Что синтаксис dooes формализовать шаблон, который уже использовали многие люди, и сделать его стандартным синтаксисом, который имеет имя и рекомендации по использованию. Вам не обязательно использовать декораторы - вы можете добиться того же эффекта другими способами - но использование официально поддерживаемого стандартного подхода с кратким, легким для чтения синтаксисом делает жизнь немного проще.