Cleaning your shower head should be done every 3 to 6 months or sooner depending on how hard your water is.
To clean your shower head you should remove the shower head and then soak the shower head overnight in some white distilled vinegar.
The white distilled vinegar will remove hard water deposits and calcium buildup on and in the shower head.
After around 5 or 10 years you might want to just replace the shower head with a new one especially if the shower head is getting clogged too much.
I clean my shower head in white distilled vinegar every 6 months which is enough for me but some places you may need to clean the shower head more often especially if you have harder water.