h-*
класс имеет !important
оценку. Следовательно, он всегда будет иметь приоритет над вашими встроенными стилями.
Таким образом, ваш контейнер был стилизован как высота 100%, а не 500 пикселей.
Чтобы исправить это, просто выньте h-100
из контейнера и примените встроенную высоту либо к контейнеру, либо к строке:
<div class="container">
<div class="row" style="height: 500px;">
<div class="col-sm-4 h-50 bg-success">.col</div>
<div class="col-sm-4 h-50 bg-success">.col</div>
<div class="col-sm-4 h-50 bg-success">.col</div>
</div>
</div>
демо: https://jsfiddle.net/davidliang2008/rkvztch0/3/