Sometimes they might have been able to allocate it more compactly - but how do you predict exactly what your needs will be in 20 years?
Other times they might not have been able to allocate it more compactly - are you really going to go make routes for a /25 and a /26 and a /27 when you need 200 IPs, just to save a single /27 over giving it the whole /24?
There can also be reasons to structure it more sparsely than required for UX, namely to give a more hierarchical structure - maybe by region and store, or similar.
tl;dr it's not necessarily a mistake that your allocations mean you use more space than strictly necessary