In the stable marriage problem, the communication graph is undirected and bipartite, and each node ranks its neighbors. Given a matching of the nodes, a pair of nodes is called blocking if they prefer each other to their assigned match. A matching is called stable if it does not induce any blocking pair. In the distributed model, nodes exchange messages in each round over the communication links, until they find a stable matching. We show that if messages may contain at most B bits each, then any distributed algorithm that solves the stable marriage problem requires Ω(√n/B log n) communication rounds in the worst case, even for graphs of diameter Θ(log n), where n is the number of nodes in the graph. The lower bound holds even if the output may contain O(√n) blocking pairs. We also consider ε-stability, where a pair is called ε-blocking if they can improve the quality of their match by more than an ε fraction, for some 0 ≤ ε ≤ 1. Our lower bound extends to ε-stability where ε is arbitrarily close to 1/2. We also present a simple distributed algorithm for ε-stability whose time complexity is O(n/ε).