If the shower has low flow on both the pump and city water (providing your city water is 40 psi or better), hot or cold, then the problem is probably the water restriction disk in the shower head. They put a really small restricter disk in those heads to conserve the maximum amount of water possible; resulting in almost useless water volume. I'd check that first, most folks that use their showers regularly either take them out or they put a replacement shower head in, Oxygenics is a popular upgrade.
If you are having low flow with the pump on your sinks and shower, it may be a combination of the restricter plate in the shower and a restriction or air leak (is your winterizer valve at the pump closed?) You don't mention whether the pump's issues are with cold or hot or both. If it is "laboring" with the hot only, the problem will be after the split of water from the pump to the heater and to the system's cold side. If it is with the cold only, then the problem will be on the cold side after the split. If it is with both, then the problem should be between the pump and the split. I'd check the winterizer valve first...if you had it done by a company or if you did it yourself (the winterizing) it is quite possible that the valve was left in the open position allowing the pump to draw air and very little water resulting in very low flow at the sinks and shower.
To empty your water heater; from outside, open the water heater access panel (where the vent is...about 12" square with a release toggle on top). Inside, you'll see the "working" parts of the water heater. You should see a large bolt, it should be ~1 1/16" if memory serves me. Release all water pressure in your system by opening water faucets (cold and hot) and then remove that bolt. That is your water heater's anode and it will look pretty awful, not unusual, it deteriorates (sacrifices itself) so that your water heater doesn't corrode. When you are close to having it all the way out, stand back...your water heater will let go with 6 gallons of water pretty quick out of that big hole
. That will drain your heater...put a few wraps of white thread tape on that anode's threads when you are ready to re-install it.
As for check valves...they usually either work or they don't. If you have one at your water heater, it would control the temperature of your water more than the volume. It is used when winterizing to bypass the water heater so that it doesn't fill with anti-freeze when pumped through your pipes by the pump. If it fails, the result is usually tepid water caused by cold water mixing with hot water as it leaks past the valve, it won't however, usually restrict the flow any, it merely allows cold water to mix with the hot. The other check valve is between the pump and the city water inlet. It prevents the pump from pumping water out the city inlet while still allowing shore water in past the water pump. Again, it either works or it doesn't. If broken, it will allow the pump to pump water out the city water inlet, or it will prevent any city water from getting past it into your system. If that one failed, you would either get water pumped outside on the ground, or no city water inside, but, your pump would still work.
Those are the usual gemlins... Can't really point to a definitive solution without knowing more about the problem...but, you have a few more ideas to work with now.