Never heard of the term before today, but it's basically a loop checking to see if a condition has changed. Loops don't release CPU, so it's generally not considered a good idea to do this, but sometimes it's the right choice.
Since Java is a multi-threaded language, it's useful when checking on states of threads. For example, suppose you had a shutDown() method that terminates each thread. Threading is typically asynchronous, so you need a way to wait until each of the threads actually terminates. One might do this:
service.shutDown();
while (!service.isTerminated());
The while loop there is an example of busy spinning. It just repeatedly calls service.isTerminated() until it return true. That method would likely be checked to see if any active threads still exist and return false if there are any. Only when there aren't any would it return true.