Глубокого смысла я не вижу и если заглянуть в stddef.h (gcc), то можно увидеть, что этот тип определён как
Код
typedef __SIZE_TYPE__ size_t;
а __SIZE_TYPE__ в свою очередь зависит от платформы VAX, BSD и т.д. и разрядности процессора.
Таким образом получается, что размерность типа size_t, как и типа int платформозависима.
И я исходя из этих соображений с осторожностью применяю size_t и не использую int в принципе.
До глубинного смысла НИКТО никогда не докопается, т.к. всё свёдётся к недавнему спору о типе bool для СИ.
В конечном итоге Ваше личное соглашение с самим собой должно быть достигнуто относительно этого и Вы должны будете ему следовать.
И ещё иногда size_t может быть мал для некоторых случаев. Так что панацеи не существует.
Больше на эту тему мне и сказать нечего...