For me, this flow ensures that I can generate a BOM from my outjob that has
1.) A fully populated Assembly Sheet that references a real manufacturer part number. An out of stock part number is a *supply chain* problem, not a *design problem*.
2.) A list of Alternates
3.) An order list for suppliers.
That can be then sent to purchasing to manage the acquisition. In many cases, "I" am purchasing for the prototypes and I really like having a ready to go BOM to automate my orders. (From Outjob to Order is very quick...)
If in the case you have multiple parts that can work on the same land pattern, you need a internal part number for a layer of abstraction (which cannot be handled by Circuit Maker).
For me, it is more than value & package. Value, Package, tolerance, voltage rating, temperature coefficient, etc.... At that level you need a real part number.
It is just easier to spec a manufacturer part number as the primary key. If that doesn't fit then the next level of abstraction is a company part number (which then you become the "manufacturer" as you are adding a value add stage of sorting a input product).
Having a schematic with a generic resistor with a value just means someone has to do a bunch of manual labor to fill in a BOM later (i.e. kicking the can down the road). For something simple, not a big deal. When you have many line items, I know I don't want to do it. I like having my tool do it for me and prefer to do the work in the front end to save me in the backend so everything is automated in the design tool. I am unware of any way (without a custom script, etc) in Altium to Specify something generic and have it fill in the BOM with a *orderable* part number.
Now, I understand the desire as it just shifts the problem to another point in the process. Everywhere I have been that has a controlled, lifecycle managed design flow does it this way. Everything has a part number... Doesn't matter if it is a resistor, a piece of wire, a dildo. BOMs need real data for a proper design to print package.
I think part of the problem is that some are only thinking of how to handle it in tools like Eagle or Diptrace. In that case, yes, making a library of resistors is difficult as their model can't handle this level of abstraction very well. (i.e. one symbol being linked to a table in a database to generate a large amount of parts).
For Altium, It is simple to make parts database to handle this.
The guys working on Circuit Maker just need to do some more work to figure out how to cover the 6-sigma of use cases so libraries are sane. If you can make the 6-sigma of users happy, then your job if done :-)