iframes are just inline frames that have been in use on websites for years. They basically allow any webpage to be embedded on another webpage. If done properly, the viewer will have no idea that the page is in a frame. If the page to be included in the iframe is too large to fit the FB page, scroll bars will appear... which shatters the illusion.
In Facebook, the effect is to make your page, or perhaps part of a page appear on your FB page as if it was programmed to be there.
FBML is being phased out. From what I understand, if you have a page created in FBML it will still work, but after some date in the future, you will not be able to create FBML pages, just iframes.
IMHO this is a very good thing as iframes allow you to pretty much put anything on your FB page, as long as it meets FB's standards.