Почему так происходит вам уже написали. Хочу заметить что в случае с inline-block нужно убирать отступы между блоками. Сделать это можно например указав для родителя font-size: 0; и не забыть переопределить его для дочерних элементов (если в них есть текст).
Подробнее.
Только в вашем случае еще нужно поделить блоки на равную ширину. 1000 / 3 = 33.3333% (или 333.3333px)