You want to do everything you can for them, within reason . . . it's the "within reason" part that's hard to gauge.
I didn't want to let my big old Siamese boy go because I loved him so . . . he was still ambulatory and not in pain but he was having a lot of breathing difficulties because his lungs were eaten up with cancer. A hefty dose of steroids perked him up enough to enjoy eating again and gain a little weight, and dried out his lungs enough for him to breathe. We all said our goodbyes, and about a week later when the steroids wore off we made that last trip to the vet.
My little girl cat I may have jumped the gun on, but I was so worried about having let Finny suffer too long . . . she stopped eating and turned her face to the wall, though . . . and I heard her crying in a voice I'd never heard her use before. So I think it was time.
You can tell when it's WAY too soon, or WAY past time, but it's always hard to figure out exactly when.
You're right - deciding on the right time is very hard some times. Now I just insist that no animal suffer pain or confusion because of me, and will put a vet on the spot in a heartbeat over it. If it won't fix the problem or take away the pain, the vet doesn't get the chance.