Some other advantages:
The kernel has a global view of what is going on with all the different applications running on the system, whereas your application only knows about itself.
The cache can be shared amongst different applications.
You can restart applications and the cache will stay warm.