All in all, more and more Amazon is tending to raise their prices to help pay for that free shipping. However, the 2-day shipping is a convenience for many. They still have some nice deals around.
It's pretty easy to check prices against what Amazon is offering. Between web browser apps like camelcamelcamel and wikibuy you can either check the price fluctuations of a product or use wikibuy to look up an item and compare cost against certain other retailers. There are also Amazon apps so that when you are on other websites looking at items it automatically searches Amazon to find the product you are looking at and shows you current Amazon price without leaving the page you are one.
For the things I buy I find that Amazon is within $5 of the total price shipped + tax the majority of the time. Having it delivered in 2 days usually tips the boat in Amazon's favor for me even if I overpay a little. However, with Amazon expanding it's own in house product line more and more often they're lower on household goods. Heck, even dog potty training pads are Amazon branded now and priced lower than the competition. Throw in subscribe and save on items you use most often and Amazon has another way to undercut the competition.
I shop from plenty of other places, because like you said Amazon isn't always the cheapest, but there are certainly ways to make Amazon work a little harder to earn your dollar.