I think the short version is:
If you modify Moodle code and sell or distribute that code to people outwith your own organisation, then you must also make the code changes available to anyone you sell or distribute the code to under the terms of the GPL (which in turn allows them to give away or sell that code).
Note that hosting a website and allowing people access to it is not the same as distribution. Some people see this as a loophole in the GPL (which wasn't written with web applications in mind) and it may be changed in the next version of the GPL.
Content loaded into Moodle by you or anyone else is not covered by the GPL, any more than an email written in an open source email client, or image created with open source graphics software becomes open source.
Final nitpick: Public Domain is a precise technical term that doesn't really apply here. You still own the copyright to your changes, it's just that in return for being allowed to build upon the rest of Moodle you're being required to specifically grant other people the rights to do certain things with your code too.
The usual I am not a lawyer disclaimers apply and it's probably best to get a few opinions before believing anything about open source licencing. It's not that it's complicated as such, but it's quite novel to most people and there's a lot of disinformation about.