An amp is really only needed for headphones that are hard to drive. This means they are inefficient motors and usually have a high impedance. 300 to 600 Ohm certainly needs an amp. Driven on a idevice, they just won't play loud.
It is also said that amps will help control the drivers better, which is true. But one can certainly enjoy good headphones without an amp. With an amp the sound WILL get better, but its like with DACs. You see, the headphones make the music. AMPs and DACs "change" the sound on a much lesser scale than using a different headphone would.
Now, decent portable amps can be had for 100 to 150 dollars.
That said, there is no "best headphone" for an iPhone. It really depends on what type of sound you prefer. And the only way to do that is by testing them, on YOUR head. Of course you can get a feel for this stuff by reading here.
There are many headphones I like without amplification, my current favorite out and about headphone is the Sennheiser HD-25-1-II. Decent sound, good isolation and durable. I personally love the "techy" look of them. As soon as I can buy it, I will probably get the HD-26 PRO. I always choose closed back headphones for mobile, and they shouldn't be too huge.
For home listening it is different. Big, open headphones are fine there.
BTW, there is now a subforum for help requests. FYI.