With a /31 subnet, we are left with zero usable hosts. The /31 subnet only has two hosts - one for network and another for broadcast.
I am wondering why would someone ever use this subnet.
/31 network actually has two usable hosts for a point-to-point link. See the Standards Track RFC 3021, Using 31-Bit Prefixes on IPv4 Point-to-Point Links (published in December 2000):
With ever-increasing pressure to conserve IP address space on the Internet, it makes sense to consider where relatively minor changes can be made to fielded practice to improve numbering efficiency. One such change, proposed by this document, is to halve the amount of address space assigned to point-to-point links (common throughout the Internet infrastructure) by allowing the use of 31-bit subnet masks in a very limited way.
This document is based on the idea that conserving IP addresses on point-to-point links (using longer than a 30-bit subnet mask) while maintaining manageability and standard interaction is possible. Existing documentation [RFC950] has already hinted at the possible use of a 1-bit wide host-number field.
The savings in address space resulting from this change is easily seen--each point-to-point link in a large network would consume two addresses instead of four. In a network with 500 point-to-point links, for example, this practice would amount to a savings of 1000 addresses (the equivalent of four class C address spaces).
Understand that not every vendor (Microsoft in particular) supports the standard, although many vendors, e.g. Cisco, fully support the standard.