Почему запятая перед но правило есть?
Запятая ставится перед союзами да в значении но (говорит он редко, да метко). Если в сложном предложении имеется более одной основы. Перед союзами и, а, но, ставятся запятые. Запятая не ставится перед союзом и, да при однородных членах.