The consensus, on web forums at least, is that junction tables when dealing with many to many relationships should not use a single, auto incrementing, primary key since the 2 keys that comprise the table form a distinct key themseleves. Which is fine for the sample below.
Student (stud_id, name)
Module (module_id, module)
In the above example, a single customer might order the same product many times on a single order all differentiated by, for instace, a customer order reference, or a specific delivery address or whatever.
In this instance, the combination of keys in the junction table is no longer unique. Is it acceptable to create an auto increment primary key in this instance?