Adaptations will often be imperfect because evolution takes time, and natural selection cannot operate as fast as the environment of a species change.
The environments of all species change more-or-less continually because of the evolutionary fortunes of the species they compete and cooperate with. Each species has to evolve to keep up with these events, but at any time they will lag behind the optimal adaptation to their environment.
The degree of lag can be quantified as lag load, an example of genetic load.
Examples of adaptations which are imperfect as a result of time lags include many fauna, the fruits of which will be out of date, and adapted to an earlier form of dispersal agent. Janzen and Martin have argued that the fruits of many of the forests of South America are 'neotropical anachronisms': they are anachronistically adapted to the fauna of large herbivores which are now extinct.
The fruits of Cresentia alata and Annona purpurea (opposite) may have experienced time lags in this way.