A key program is practically the same as a major. The only difference between a key program and a major, for example, is that your degree will state "Business & Commerce (Marketing). Your major will be listed somewhere in the transcript and will simply mean that you have specialised in a different area of study.
The reason as to why you can't do marketing as a key program and a major is because it's the same thing. That is, they both share the common core units except for a few, in which case makes the marketing key program slightly more specialised. The marketing major is designed for students who are interested in this business discipline but rather have their main specialisation in other areas such as accounting or human resource management.
To give you a clearer idea, a typical Business & Commerce degree will require you to complete 240 credit points to graduate.
Regardless of what key program you're undertaking, all students enrolled in the BBC are required to study 7 common core units.
Each unit = 10 credit points.
A marketing key program consist of 9 core specialised units dedicated to marketing (excluding marketing principles).
So far, that's 16 compulsory units you will have to complete, which amounts to 160 credit points. With that said, the other 80 credit points will be based on your free electives. This means that you can choose any units from a broad range of disciplines relating to business or other areas (i.e. psychology, arts and so on). So, what does free electives have to do with majors and sub-majors? As I have said earlier, a major and a sub-major will allow students to study something else other than their main specialisation in marketing.
To complete a major, you will need to pass 8 units which are specified from the handbook.
To complete a sub-major on the other hand, you will only need to pass 4 units.
Since you have 8 free electives, you can use 8 of those to major in an area other than your key program. If a major is not your thing, you have a choice of either taking up 1 sub-major, 2 sub-majors or spend it on random electives or a combination of electives and a sub-major. It's definitely not compulsory to undertake any majors or sub-majors, but at least it will expand your career opportunities!
Note: the above does not apply to some key programs such as accounting, because there's 3 extra units that students are required to complete in order to become accredited with the CA/CPA. In short, a key program in accounting will only give you 5 free electives, meaning that it's impossible to major in anything except for finance (finance and accounting share a few core common units).
To sum things up:
Credit points required to successfully complete a BBC degree = 240
Each unit/subject = 10 CP
BBC core units = 7 (70 CP)
Key program core units (marketing) = 9 (90 CP)
Free electives = 8 (80 CP)
Major = 8 units (80 CP)
Sub-major = 4 units (40 CP)