What are the main differences between Android and iPhone implementations of application multitasking? What are the main differences between Android and iPhone implementations of multitasking at the application level?

(Let's not turn this into a subjective fanboy argument please?)
This is not an answer to your question, but it's worth clarifying that both operating systems are fully multitasking [1] under the hood (insofar as they can and do run multiple processes).

Your question is clearly about application-level multitasking ("can I leave one application running while using another?"), which is a relatively new use of the term, and isn't always well-defined, even if it does have some obvious examples (like listening to Pandora while reading email).  Specifically, many applications don't need to run in the background in order to present themselves to the user as if they had never stopped running, so long as they save/restore their state.  Applications which must perform periodic operations (like checking mail or popping up alarms) don't need to run continuously in the background either; they can invoked occasionally by the OS.  The big issue is usually applications which need constant CPU while in the background, like Pandora.

In general, Apple has worked much harder to discourage or prevent continuously-running background applications, whereas Android seems more open to it.  But they are converging, as Apple allows apps like Pandora to run in the background and Android provides richer tools to discourage needless background tasks when polling or saved state would suffice.

[1] http://en.wikipedia.org/wiki/Computer_multitasking