A common reason is to reduce cost and latency. Larger models typically require GPUs with more memory (and hence higher costs), plus the time to serve requests is also higher (more matrix multiplications to be done).
Moreover, you can fine-tune model for your specific tasks and you need fewer resources to fine tune a smaller model.
However, fine tuned small models can outperform general purpose large models on specific tasks.
There are also many lightweight tasks like basic sentiment analysis where the correctness of small models can be good enough to point of being indistinguishable from large models.