Why is there a huge price difference between 8gb iPhone and 16 and 32?

About 6 months ago(so maybe my information is dated) I got a IPhone 4 8 gb with the one dollar upgrade with ATT. I was wondering why I could get 8gb for a dollar and if I remember right the 16 and 32 were several hundred dollars. Why is this when you can get a micro SD 32 Gb card for 20$?

Because it is Apple.

It was probably a promotion deal to be honest. Apple is expensive no matter what.