Статические члены относятся к типу класса, а не его экземпляру. Это на один уровень выше в иерархии типов.
Такие члены нужны, чтобы задать свойства не конкретного экземпляру (объекту), а к целому типу (семейству объектов).
Например, мы хотим иметь несколько разных методов вычисления площади класса "гиперсфера" в зависимости от размерности пространства. Классический подход: передавать размерность в конструктор, а в методе GetSquare() каждый раз у каждого объекта проверять размерность и использовать соответствующую формулу. Однако, было бы проще задать размерность сразу для типа "гиперсфера", т. е статически. Тогда и в конструкторе меньше параметров, и каждый раз проверять не требуется, и лишняя память не тратится, и меньше кода писать, и новые объекты сразу создаются с нужной формулой. Иными словами, паттерн "фабрика".