A plan is basically a template of the group of services that the host provides and can be named the same as the hosting plans that the hosting company providers. The plan can then be allocated resources and limits, such as bandwidth, number of domains, email accounts etc, and given a price. When a customer purchases a plan they are allocated a package which is based upon the plan that they selected.
The reason why they are different is that although the customer's package is based upon a plan, the package limits and resources can be altered on a completely individual level. This means that if you have a plan with, lets say, 100 POP3 accounts, when a customer purchases that plan, they get a package that will by default have 100 POP3 accounts. If they need more POP3 accounts, the limit of that package can be altered without affecting the plan and other customers that have purchased the plan.