There is a few reasons on why you should go with 5 nodes minimum instead of 3.  One is the efficiency factor. A 3 node cluster will have less than 66% raw-to-usable efficiency. With 5 nodes, you'll have close to 80%.  Another reason is data availability and rebuild times. If you have a node failure, although not very common it could happen, the rebuild process could take days or weeks since you only have two surviving nodes to re-stripe all data. If in top of that, you don't have enough free space in the remaining two nodes, the array could go to into a read-only state until another node is added.  Finally, with 3 nodes you cannot achieve N+2 protection which is a good practice for some critical files especially if they are not replicated and/or backed-up.
I know 3 nodes is the minimum we support for any given pool, but I keep hearing 5 should be the recommended minimum.
What is the minimum recommended number of nodes for a cluster?