There can be several reasons behind this, most typical ones are deletion of records nad rolling back a transaction.
But the bigger question is, why this is a problem for you? The sole idea of the auto incremented field is that it provides you a
unique value for a single record. That's all. It does not quarantee that all values are present and so on, just the uniqueness.
This type of key is typically never shown to the user because it has no other meaning than providing a key value. In other words it's a
surrogate[
^]