Это "защита от кэширования", как правило, число меняется (при сборке), если изменился файл css. Благодоря этому, когда браузер обратится за css, для него это будет новый файл (если поменялись цифры) и он его загрузит, а не будет брать из кэша.
если по простому - это сделано для того, чтобы когда ты таким образом подключишь css - и при изменении эти цифры будешь менять - то при обновлении браузера css подключиться новый(измененный), потому что браузер будет думать что это новый ксс файл.
а если такого не делать - пользователю нужно будет сначала очистить кеш, чтобы увидеть обновления в ксс
еще такое популярно делать когда меняются спрайты с иконками. к примеру если раньше стоял background: url('img/sprite.png'); и сделали новые иконки и написать background: url('img/sprite.png?123'); то новый спрайт подхватится сразу без обновления кеша