In different wire protocols there is often a set of reserved bits that must be set to 0 or else the connection is ended. What is the purpose of such reserved bits? When was the last time these were actually used in 'future'? If other machine is going to end the connection on it being non-zero, how is it going to be backwards compatible in the future then?
The reserved bits are so that the protocol can gain additional features in the future. This happens every once in a while.
For example, off the top of my head I know that the original IPv6 multicast protocol (RFC 3306) called for four flag bits (
00PT), the first two of which were reserved. A more recent RFC (RFC 3956) updated this to use one of the reserved bits to indicate the presence of an embedded RP address (