Different troops take up different amounts of housing space in the Army Camps. That’s why you may end up with a “full” camp even though housing space is not used to 100%
For instance, a Barbarian, Goblin or Archer only needs 1 housing space, but a Giant needs 5. In a camp of 35 spaces, you can hold for instance 35 barbarians or 7 giants. In both cases your camp will be full. However, if you already have 31 Barbarians and then expect a Giant to be ready, he won’t be able to enter the camp, because it doesn’t fit 36 housing spaces.
To make your army more efficient, upgrade your units in the laboratory to make them stronger (housing space will remain the same), upgrade your camps to get more space, or train troops in numbers that fit the camps perfectly.