For fresh water, take a good look at what is around where you are fishing. Look at what insects are about, shake some branches near the banks and see what falls out, whats buzzing around your head etc. That will give you some clues as to what your prey are eating and will help you match your bait or lure to its preferences and diet.
Try and think a bit like a fish... if you were hungry where would you lay? Is there any structure (rocks, branches etc)? If its a moving body of water toss some grass or something in and watch how it moves through the water, and most importantly, where it gets trapped in an eddy or swirls behind some rocks. Fish like to hang about in places like these.
If its beach fishing, try and get up high, or get there at low tide and get the lay of the land. Look for gutters as the fish like them. An hour or so before an incoming tide is a good time to get your gear wet. If you are fishing in the surf you will see most people trying to cast beyond the breakers, but you can get surprisingly good results in close and in relatively shallow water. If you catch one, cut it open and look at its guts and see what its eating (same for fresh water). Again, this will help you target your baits.