Explain find’s -path and -prune options

I have a simple script that I understand most of, it’s the find command that’s unclear. I’ve got a lot of documentation but it’s not serving to make it much clearer. My thought is that it is working like a for-loop, the currently found file is swapped in for {} and copied to $HOME/$dir_name, but how does the search with -path and -prune -o work? It’s annoying to have such specific and relevant documentation and still not know what’s going on.