In the getInclusionStates api call you have two parameters. The first, 'transactions' parameter is an array of transaction hashes that you want to check the inclusion state for, and the second, 'tips' parameter is an array of transaction hashes that you wish to use as a reference to determine if they include the 'transactions'. You can pass a milestone as a parameter to the 'tips' array in order to determine if it was confirmed by that milestone, or you can use getLatestInclusion which does that for you. Both functions return a boolean but getInclusionStates allows you to pass different tips to check if they approve a specific transaction while getLatestInclusion only checks against the latest milestone. Currently we only consider a transaction confirmed if it is referenced by a milestone but in the future we will either not have milestones to check against or not depend so heavily on them.
Someone might use getInclusionStates to determine if a random tip includes a transaction is if they want to determine the confirmation percentage of a transaction they can run getTransactionsToApprove 50 times (100 tips) and pass the tips to getInclusionStates and the number of tips that return true would be the confirmation percentage. That can obviously be done without 50 API calls with a little tweaking but the point is valid.