Well, there are three obvious possibilities:
1) There's something near your iMac, or resulting from its physical location, that's causing interference.
2) The iMac has a bum wireless card.
3) You've unintentionally misconfigured something on the iMac that's causing the slowdown.
I'd start by confirming that everything in the wifi setup is the same between the iMac and your other computer, to be sure that it's not #3.
Assuming no, Turn the iMac off and put the MacBook in exactly the same location, and see if it works fine. If so, that makes it much less likely (though not impossible--different antennas) that it's #1.
And if it's not 1 or 3, that only leaves a hardware problem. If you have Applecare and it's still under warranty, you should call Apple and see if they can diagnose and/or offer a fix. If it's out of warranty, you could do the hardware reset voodoo (reset the PMU and PRAM, neither of which is likely to help), and if you want to make absolutely sure it's not software reinstall the OS (or partition the internal drive and install a clean test copy on that partition, or do the same on an external drive).
If nothing but hardware remains, time to either hire someone to fixit, or go to iFixIt.com, buy a replacement Airport card (about $100), install it yourself using one of their guides (hard, but doable if you're careful), and hope for the best.