Here in Southern California, we have hard water which can cause mineral deposits to form inside the shower head and water faucets.
To clean a clogged shower head, slip a plastic bag filled with a few inches of white vinegar. Fasten it around the shower head so that the opening of the shower head is submerged in the vinegar solution. Keep the plastic bag over the shower head overnight or for most of a day. This should dissolve most of the mineral deposits. Use a toothpick to clean out the remaining mineral deposits.