Why is it specifically a "rainy day" (rather than some other metaphor) when you need extra money?

Solution 1:

"A rainy day" simply means "a dark or sorrowful time"

In my childhood rainy days were always boring.

So it means to save for a time were there is little.