It's ready when the heads are full sized and the buds are still tight. You can harvest early if you want, but don't let them go too long (i.e. the buds loosen and flowers start to open). (What "full sized" means depends somewhat on your variety; check the seed packet.)
To harvest, just make a clean cut with a sharp knife 5" or so below the head. If the variety you've planted makes side heads, don't cut too far down and don't remove too many leaves -- you want to keep most of the plant intact so it has energy to keep producing. If you have a variety that only produces a single head, you can pull the whole plant after you harvest.
I give a little top dressing of compost/manure after harvesting the main head, or a shot of liquid fish fertilizer.
Side heads look the same as the main heads but are smaller, and they are on side branches of the plant instead of the main head. I don't have experience with many varieties, but the side heads are only a couple of inches -- don't wait to harvest in expectation of them getting big! Not a meal, but good for adding to salads and stir fries.
The last crop of broccoli I had only had tiny main heads, but it made tons of side heads.