Logs are so, so, so useful. Imagine a complex task needing to run at the server, and it fails for some reason. The user can't tell you what they did because often times, they don't know. So, you log stuff. Logging can be as simple as "trace 1", "trace 2", "trace 3", etc. after each line of code where you need to track down a bug. You see "trace 1" in the log, and "trace 2", but "trace 3" is missing. Why? Narrows things down for you. That's just one use.
One key area I have logging is in database activity. I have a single database class in my PHP application that wraps database calls so I can have all db activity filter through there. I wrap all database calls in a try/catch, and the catch will do two things: (1) log the database failure, the SQL call that was used and the array of parameters sent to the SQL call so I can reproduce the exact SQL that failed, and (2) send me a PushBullet message using their API, telling me there was an error along with a backtrace. (Plug for PushBullet here... great use case, IMO).
I use logging extensively. I would not write an application without it. I wrote my own logging system as I feel others, like log4j, are too bloated for my needs. And since my application is in PHP, if there's a production issue, I can just add some logging to the production code (yes, bad practice, but I do it anyway) to see what the failures are there that I can't reproduce in a dev environment.