I spend most of my time fishing a large, fairly fast very popular river in Michigan. Probably the most common cause I see when people aren't catching fish is that they are fishing way too long a line. There is no way you can control your fly presentation with a mile of line out (at least not on my home river).
My wife is a very casual fisher, she likes to be on the river, and fishing is a good excuse to be out. When you watch her fish, you can tell her casting skills are minimal, but she does catch fish. It interesting to watch people, you can see folks who can easily cast twice as far as my wife, yet they still may be fishless while in the same time period, my wife has caught 10 or 15 fish.
To be honest, I had the same problem when I first started fishing my home river 30 years ago, I was an experienced fly fisher at the time, but I caught very few fish. I often fished with my brother or other friends, who were at least catching a few fish while I often caught none. It wasn't until I realized I needed to concentrate on fishing, rather than long distance casting, did I start catching fish.