Wedding hotel blocks aren't required to be booked, but it is a nice courtesy to the guests for a few reasons. If you book a room block at more than one hotel it gives your guests options without having to do the research themselves. This is also an easy way to keep your out of town guests centrally located. Most couples try to book their hotel blocks close to the ceremony, reception site, or somewhere in between the two locations. Room blocks are also a great way to make sure your guests have a guaranteed place to stay in case all the hotels get booked the weekend of your wedding.
This varies by hotel. Most likely your guests will receive their rooms at a discounted rate. However, not all hotels will do this and may charge regular rates. A hotel may choose to give the bride and groom a free nights stay in a "bridal suite" once a certain amount of rooms in their block have been reserved. Other hotels will give a free shuttle service for guests to the ceremony and reception once a certain amount of rooms in their block have been reserved. What it really comes down to is shopping around and finding the best deal out there for you and your situation.
-Is there an attrition clause? (If yes, ask for it to be removed)
-Is there a penalty for cancelling the entire room block?
-Can we add more rooms at the same discounted rate when the initial block is filled?
-What is the cutoff date for the block?
-Can guests get the discounted rate if they want to stay a little longer?
-Is parking included in the room rate? Is it free? Is it negotiable?
-What is the maximum number of rooms that can be blocked?
-Can guests book online with a code or do they have to call to book their rooms?
-Can we block a certain wing or floor of the hotel for our block?
-Will you deliver "welcome bags" to the rooms for free?
-Is there complimentary WiFi?
-Is there a free breakfast for my guests?
-What are check-in and check-out times?
-What amenities does your hotel have?
-Do you have handicapped accessible rooms?
-Do you have a shuttle? Is the fee negotiable?