Now that FBML is being deprecated, it seems to me that the new JS SDK and FB Connect will be sufficient to have an iframe app on FB. Is this understanding correct?
Previous answers to this question were based on FBML that still was supported back then
Facebook App vs. Facebook Connect site
For example all the old invite FBMLs can be replaced now with dialogs based on FB Connect JS as described here
http://developers.facebook.com/docs/reference/dialogs/
Right now You should choose between the JS and PHP SDK or a combination of both depending on what you are building.
We usually work with the PHP SDK for Authentication and use JS for Feed Dialgos (posting to the wall for example).
If you need a couple of starting points Thinkdiff.net has two great post with downloadable source and demo that might help you decide what works better for your project.
Here is the JS Example:
http://thinkdiff.net/facebook/new-javascript-sdk-oauth-2-0-based-fbconnect-tutorial/
Here is the PHP Example:
http://thinkdiff.net/facebook/php-sdk-3-0-graph-api-base-facebook-connect-tutorial/