Easily the #1 response when people find out I foster dogs is: "But isn't it hard to let them go?"
Yes. It is.
(Well, actually, it isn't always. If you're lucky enough to find a great adopter in the first couple of days, when the dog is still pooping everywhere and crying in its crate and hasn't yet wriggled its way into your temporarily flinty heart, then no, it is not hard at all. But that's only happened once, and since I've raised my personal goalposts for successful fostering, it's unlikely to happen ever again.)
I'll (probably) elaborate more on this later, but I think another foster blogger put it best when she said: "the amount of love it takes to do this well exceeds the amount of love it takes to get attached... so yes, it hurts to let them go." But you do it because there's always another dog who needs you, and because your foster dog deserves to be someone else's forever dog -- not just a work-in-progress or a training project, but a beloved companion.
No matter how much I like a foster dog, it can't compare to someone who loves that dog. And when you see someone really love that dog, and the dog loving them right back, all the hurt just melts into happiness. So much happiness.