Rockets are fairly useless, except in a few cases. Level 1 rockets are completely useless in my opinion, although some people have slight luck with them.
First rule is that rockets can't hit a moving target. The rockets have a flight time of say 15 minutes, and in that 15 minutes even a slow militia unit moves far enough to be out from under the blast radius.
Planes in the air are not affected by normal rockets (nuke rockets are different) In theory you can damage the airbase enough to force the planes to land, and then hit them on the ground, but I have never gotten that to work. It takes quite a few rockets.
Planes on the ground are very vulnerable while they are refueling, and less vulnerable if just parked at an airbase. So you need to time the rocket correctly so that you hit planes during their 15 minute refueling window. This takes practice. You need to see when they hit your units and it will display how long to return to base, then figure 15 minutes to refuel with a level 1 airbase. If you launch several rockets at say a minute apart to hit during that refueling window you should have pretty good luck.

To answer what it hits you can look at the spec sheet for each unit in the research tab, just click the little "i' and you see this:
The strength against armor class for a level 2 rocket shows that it does 22 damage to infantry, armor, planes, 50 damage to buildings, and no damage to ships or submarines. A ship is usually moving, so a poor target anyway, but I think I have had luck with rockets against disembarking convoys as they are stationary.
Another good use is to hit enemy units that are locked in battle with your own. That will keep them stationary, and even though you are in close proximity it will not damage your own units.