I always see the option to toggle hardware acceleration within applications.
Isn't hardware acceleration an advantage ?!
Why would anyone want to switch it off ?
Hardware acceleration takes advantage of specialized processors your computer may have. The most common use for this is using your GPU to render GUI elements. Otherwise, your CPU does everything. However, sometimes hardware acceleration can cause strange issues that don't show up when its off, so it's toggleable if your hardware doesn't agree with that software for some reason.
While I can't think of an example of an app everyone uses off the top of my head, it's a common thing in emulation. Software graphics rendering is more true to the original hardware than using hardware acceleration, which approximates what the hardware was doing. This approximation can lead to glitches because some things don't translate well.