Sediment may be blocking the drain.
Check out this link:
I had my hot water re-plumbed due to the copper lines corroding. After everything was done the hot water was discolored. At this point I thought it would be a good idea to flush the tank. I have a traditional 40 gallon tank running on natural gas. I hooked up the garden hose to the plastic drain and opened the valve. All I got was a little trickle of water. I opened the faucet closest to the tank with no change. Normal flow of water out of the faucet. I tried various combinations of having the faucet on/off, cold supply on/off and hot valve on/off. The drain valve is all the way open but the best I could get was 2-3 cups of hot water. What am I doing wrong? Am I missing some step? I get normal water flow from all faucets in the house. After a week of normal use the color has gone away but I would still like to know what I am doing wrong.
Many of us replace the original drain valve with a 3/4" ball valve when we first install the heater. Think might help, but even then you may need to ream the crud with a piece of coat hanger wire. I've seen sediment so deep even that wouldn't clear the tank.
I've had to remove the valve so I could use a piece of rod to break free sediment blocking the opening in the bottom of the tank.