Sometimes, the need arises to have a facebook app that will be reused across several pages. Those pages may or may not be related in some way, but the content or functionality of the app should carry across them. It MAY seem easier to just create a new copy of the app for each page, but that's going to be a nightmare to maintain if you're delivering anything more than a tiny chunk of content.
To get around this, you can create a single app that is called by as many pages as you want. This single app will leverage the "signed request" that facebook passes to all apps. There's a lot of useful data in the signed request, like whether or not the user has liked the page (I referenced this in an earlier post about reveal pages). For this example, I'm only interested in parsing the request and getting the page id, and then using this to determine what to display.
Either it's going to get better, or it's going to get worse… but Google+ is instituting some new changes that your clients might start asking about. Fair warning, there's a good bit of speculation in the following post, so take that into account.