When the IDENTITY gets to the maximum value for your data type (for int that is about 2 billion values) the insert will fail with an "overflow" type message. It does not wrap around to zero (or negative 2 billion-ish) nor does it start filling in the gaps.
This happened to me a couple of months ago. It's a pain in the ass. We now have monitoring in place to predict when our IDENTITY columns will hit their limits.
There are techniques for shuffling rows along to re-use the gap values. These have to be coded by yourself, however. Be very careful about foreign keys, both explicit and implied.