Лучше всего писать CSS в подключаемых файлах .css
Во-первых - таким способом ты разделяешь разметку и стили, не превращаешь всё в кашу.
Во-вторых, стили прописанные в аттрибуте style="" сложно перевесить - для этого нужно делать !important, теряется вся фишка "каскадных" стилей.
А так, всё можно использовать в нужных случаях, смотри по ситуации.
Всему своё место