For back yard water accumulation, if water drains after a few hours, i don't think you need to worry about it. If it does stand for a long time and bothers you, then the expensive option is to install backyard french drainage.
The cheap option is rent a trencher, hire a labor to dig a trench to direct water to street. You can buy those black drainage pipes (with small holes) at HD. And along the trench, you can add catch basins to collect water. Materials are very cheap for this. I spent around $100.
However, you need to be very careful. The labor i hired trenched too deep and broke our gas pipe (which was not buried down 18 inch when house was built). That cost me $1500 plus two days without gas to fix. Another thing is you don't want city to know that you are installing drainage without permit. So make sure trench does not go beyond your fence line.
For roof leaking, if nothing obvious, just buy roof sealant from HD and apply when it is try. That may buy you some time. If that spot always leaks, you probably want to replace just the area around that spot.
I live in an old house, leaking and backyard water are constant problems.