promote body is a easy "link" method. You just link and the job is done, i would say. But if you must make changes and stuff, promote body is not very helpfull.
So i allways tell the guys to use Wave Linking and the company should set rules how to link, what is allowed and what is not allowed.
also you must find out if you need the wave control license also.
How do you solve with wave linking the bom problem? With wave link the component is not added to the bom and if you keep both wave linked body and component, then you have two bodies where you should have only one.
This is depending on the Method you working. Some comapnys solve this with external linkin, dangerous, but bom is clean.
Or they work with suppression commands, or the bom level is set lower. Mostly they using sub assemblys like a "help" assembly to make that
I find that quite strange. I mean that once you have a component in your assembly, why wavelinking and supress if you already have there the geometry that you want to work with? In others sofwares you don't need to do anything to work with the geometry of your components, the most similar way to do that in NX is promote body that is more powerful editing components geometry that other softwares tools. In my opinion promote body is the best way to do this kind of things, just need some improvements to be even better.
I think that is a different concept that represent in NX the real geometry of a product that is created by assembling/welding some components together and then manufacturing them. That kind of things is for what I use promote body and for what I think is the best tool. Assembly cut is good too, and easy to use but not valid for threaded holes, holes you need to use as pattern for components, bending...Wavelinking is very powerfull tool but doesn't represent "real life" because it doesnt work with the structure of the product as well as promote body does (at least I don't know how, that is why I ask). In real life, the geometry of each instance of a component can be just one time in the assembly level. I may need to have the geometry of a component at assembly level more than once, for example to be used as tool, in that case I would use wave linking too, but I think that is a different concept, a concept that can be applied not only to assemblies but also to parts where I may add other parts geometry to be used as tool for design the part.
I have been using NX for a short period of time and it is quite possible that I don't know about other better ways of doing things, I will be happy to learn.