When I buy something and pay $5 for it, what would I say?
I bought it at $5.
or
I bought it for $5.
Usually, for a normal everyday situation, you'd use for
I bought the pen for $5.
However, at can be used when the price is volatile, for example in case of (electronic) commodity trading or an auction.
The price started to go up so I bought five lots of April corn contract at 17.574.
In general, you'd use "at" if the price is something that fluctates from the vendor over time, and you timed your purchase to get that price. Examples would be gasoline or a stock share.
You use "for" to express the sentiment that the given price is just what it happened to be when you bought it. You also might use this if you shopped around, and specifically picked the vendor that was selling the item for that price.