Всё зависит от подхода. Чаще всего применяют подход БЭМ, где в одном классе описывают все свойства для элемента.
В вашем же случае скорее всего использовали подход Atomic CSS,
https://acss.io/ очень специфичный и многим не нравится.
По второму пункту. Но если проект большой, и писать все стили в один файл, то представляете какая каша получится? Нужно добавить свойство, но пока найдешь в тысячах строках кода нужный элемент,, найдешь место куда его вставить, уже не захочется работать. Но в принципе, вам никто не запрещает писать в нескольких больших файлах. Но это применимо только для лендингов.
А так, перед работой нужно договариваться, как нужно делать, чтобы всех устраивало. Какие файлы создавать, каких принципов придерживаться, по какой методологии верстать, как называть классы, сколько их максимум может быть и т.д.