It seams like just a matter of focus and/or preperation.
Preperation:
We tend not to prepare as much on shallow dives as we would for deeper dives. This will cut your dive times short. If you know that you can dive 80ft, then you may not even think about preparing for a dive to 30ft. You think "that's easy" so, you just dive.
Focus:
When we do static dives or shallow dives with little movement, our minds tend to focus on the time that we have been down. And soon we find ourselves needing to come up for air. When we dive deeper, our minds are focused on the dive and our surrondings. Our minds are pre-occupied, and we forget about time. Before you know it, you have been down longer than you expected.
Example: If you get off work in a 1/2 hour, and you keep watching the clock, it is going to seam like hours. But, if you are out having fun, time will pass by and you won't even know it. 3 hours will feel like a 1/2 hour.
It is the same with freediving. When I do a static, I never look at the time until I have my first contraction. Just by doing this, I have doubled my static. If I watch the time, I'll have to breath before I get to a contraction. When I do a dive, if I think about my time, I'll have to turn back early. But, if I focus on my dive and my surroundings, I will stay down longer and dive deeper. Now, if you are not carefull, you can stay down too long and black out. One way that I avoid this is to set a dive timer.
For Example: Let say that I can do a 1:00 dive, I'm diving 50ft, and I know that I can float to the surface in 15 seconds. I will set my dive alarm for 45 seconds. This way I know that when the alarm goes off, I need to turn and go back to the surface. I also know that I can make it back with time to spare. If I float to the surface in 15 seconds, I can swim it in about 5 seconds. Giving me 10 seconds to spare.
Well, this is getting a little long so I'll end it here. I hope that this helps. There are other reasons, and I'm sure some will mentioned those. But these are the ones that you can control and use to get better dives.
Brian