What's the difference between the FPGAs and the new ASICs that makes them so much cheaper?
FPGAs are generic logic devices. You essentially program the interconnections between logic gates to build whatever device you need, and when you need it to become something else, you flush it out and dump in new code.
ASICs are fixed. The cheapest ones are pretty similar in structure to an FPGA, but with permanent connections instead of make/break links. Because the links are permanent, the chips are faster and less expensive per unit (assuming a medium-ish production run, there are still plenty of setup costs. I think someone posted quotes that went up from around $200,000 not long ago.)
More expensive is to go all the way down to directly building the exact gates that you need in an optimized layout. This is pretty much identical to how mass production chips are made, where the designer (or the compiler more likely) has full control over the physical structure. That enables much higher performance, but with insane setup costs. For a complex chip, you need a very large production run to amortize the costs.