At first there are two different ways of running a fullnode.
- You can run it on your Desktop computer next to your wallet.
- You can run it on a Server and connect your wallet via API (which is the most common)
So I am talking about the second way:
In Factthis case, there are 2 different ways of doing the POW, not just one.
- on your fullnode via API (delegated POW)
- on your system which runs the wallet (local POW)
As you stated correctly here there is the way of delegating the POW to a fullnode, which then does the POW for you. See your statement here:
So I had assumed that having PoW enabled on full nodes is what keeps the transactions flowing and the network "doing stuff"
However this is ,at least right now, only possible via API,Cli-wallet or a patched version of the GUI-Wallet. So if you are not able to use any of these correctly, this might result in address reuse and loss of funds. In conclusion I recommend you to refrain from using any of these without proper research and experience in using the Iota technology. So if you feel the need to enable the POW to your Wallet. You can actually find it on iota Stackexchange.
The other way you didn't see or at least mention is local POW. Local POW means that POW is done by your computer and the Hashing result is provided by your Gui-Wallet to the Fullnode. So actually you are doing the POW all the time. The only thing which differs is the CPU where this is done.
There it doesn't make any difference for the security of the network of for contribution where it is been done. It is only important and sufficient to be done.
If you run your wallet and your iri on the same machine, there is no difference in switching the POW performing instance.