Для чего нужны константы в C# и какие их свойства?

На сколько мне известно, константы заполняются значением один раз, после чего использовать их можно, а вот менять - уже нет. Зачем они нужны, эти константы, и где они используются?

Правильно подметили: константы нельзя переприсвоить и перезаполнить. Константа также сама по себе является неявно статической, посему мы можем обратиться к ней через обозначение класса. Она является своего рода readonly полем, которое заполняется только один раз.

Важно помнить что к моменту компиляции все константі ОБЯЗАТЕЛЬНО должны быть проинициализированы.

Использование констант в коде позволяет избежать многих проблем, связаных с "магическими числами", и повышает стабильность и надёжность кода.