How is the usable host range different from total addresses?
Total addresses is the full size of the subnet (2^(32-N) for IPv4). Usable range excludes the network and broadcast, which are reserved.
Why does a /30 have only 2 usable hosts?
A /30 has 4 addresses total. The network and broadcast are reserved, leaving 2 — exactly what you need for one router-to-router point-to-point link.
Can the broadcast address be assigned to a host?
Not in classic IPv4. RFC 3021 changes this for /31 prefixes only: on a /31 both addresses are usable as host addresses.
How do /31 RFC 3021 ranges differ from classic /30?
A /31 has 2 addresses, both usable. A /30 has 4 with 2 usable. /31 saves two addresses on every point-to-point link, which adds up across large networks.