If the faucet can be diverted for showering, does the water come out of the faucet better, or the same? If the faucet's flow is weak, too, it indicates low flow to that valve. If it's better than the shower, I agree that removing the shower head may show that the flow is being restricted. If the head is clogged by minerals, put it in a container filled with vinegar. It will dissolve the minerals easily without damaging the hardware. If the minerals need to be removed manually after they're broken down by the vinegar, use an old tooth brush. If it stops fizzing before the minerals have broken down, dump the vinegar and refill with some that's fresh. Once the acid neutralizes a certain amount, it stops.
CLR works but it can be hard on the plating and some metals, so I would stick to the vinegar.
If the flow to the sink is good but not to the tub, it could be flaky plumbing. My house was plumbed by an idiot, so both bathrooms are on the same water heater, with the second one connected only to the laundry room.
Water heaters need to be maintained and one thing that shouild be done annually is flushing. This removes sediment, rust, algae, etc. Another thing needed is checking the sacrificial anode, which is inserted into the top of the tank and serves to protect the plumbing from galvanic reactions between the pipe and heater or different metals in the plumbing. Typically, if pipe changes from galvanized to copper, a dielectric coupler is used. Also, the cold water pipe is supposed to be grounded at the entrance to the building. That's not so the electrical system can have a place to ground through, it's to keep galvanic action to a minimum and if you know anyone with an outboard motor or stern-drive boat, you'll see zinc plated and parts on the out drive, for protecting the aluminum parts.