Почему переопределение встроенных в браузеры стилей это плохо?
С чего вы взяли что это плохо? Откуда тогда берутся reset.css и normalize.css?
Плохо для некоторых элементов, а не всех. К примеру select, существует куча плагинов на js которые позволяют переопределить стиль, но во многих из них не реализована нативная поддержка селектов для различных устройств, мобильных в частности. Не говоря уже о поддержке скринридеров.