Application bounce: This is achieved by Stopping & Starting Application either from Console or via Jython scripts.
jvm bounce: This is achieved by Stopping & Starting Application Server either from Console (in ND versions) or via Jython scripts or Shell scripts.
In well ordered world, both the above bounces should handle Application startup/shutdown activities. But there is a good chance that some of your applications singleton classes or static objects are not cleaned up in Application bounce. As long as you handle those for application bounces you can use either of the above.
subject: In context of WAS, what is the difference between application bounce and jvm bounce.