In the Outliner Header and in File > Clean Up & External Data menus
So, what is orphaned data?
Orphaned data is any type of data in the .blend file (images, textures, brushes, node groups, mesh data, etc.) that has no users. All those stuff you see in the lists with 0 to the left of their names. Blender keeps those data files even after deleting objects and nodes so that you can get them back, or assign them to other objects/nodes.
But orphaned data can be annoying. It can bloat your files up to gigabytes and slow down your viewport. They're also interconnected and contain each other, so for example orphaned mesh data can be storing orphaned material, which stores orphaned 4K images and orphaned node trees. This way your file can reach couple of gigabytes very easily.
To purge them, meaning completely remove them from .blend file, can be done by either: restarting the file, purging all orphaned data at once, or by deleting them individually in the outliner's orphaned data tab, which can take minutes.
When do I need this "purge" feature?
You'll need it whenever your .blend file is bloated with orphaned data, giving you clutter in the UI and performance issues, but you don't want to risk purging all the data and losing something you wanted to keep.
Say you're testing out different PBR materials on your object, and importing countless images. After a while, you end up with a list so long you need to scroll and scroll in the Image Texture list to find the one you want. With this add-on, you can click the button and purge only orphaned images, while keeping node groups, mesh data, and others, that you might have left exposed safe.
Or let's say you duplicated your heavy mesh a couple of times, realized you wanted linked duplication, and deleted them afterward. You don't see it in viewport, but those duplicated files are still there, they bloat your file and in some cases slow down Blender's performance. You can use "Purge Orphaned Duplicates" feature and it will purge all the unused duplicated data.