Есть две основные причины, по которым кто-то захочет написать этот код.
1) Они хотят что-то нарисовать / написать или использовать изображение на заднем плане виджета. В этом случае они должны реализовать метод paintEvent.
2) Они хотят использовать таблицы стилей Qt, такие как установка прозрачного фона для виджета. Таблицы стилей прекрасно работают со встроенными классами, такими как QLabel или QPushButton. Однако, если кто-то создает свой собственный класс, производный от QWidget, таблицы стилей не будут работать, если вы не переопределите paintEvent и не напишите точно те строки, которые вы упомянули.