Do 3D games use stock assets these days?

I am completely new to the world of 3D as far as developement goes and have only made 2D games in the past. As I progress into 3D and will be learning to make games in 3D and to create assets for 3D many questions have come up for me in regards to this.

When developing for 2D you always have a certain “style” since to strive for “photo realism” in 2D is not really possible (or even desirable). Thus the concept of “stock assets” or similair have never been on the table. However when I think about 3D models it makes me wonder what the actual process is for creating 3D assets, both for Indies and all the way up to AAA studios when you do strive for realism and or not making your graphics have a certain “style” (Like Borderlands for example)?

Say for example you are making a first person shooter like Battlefield or Call of Duty and you will have an MP-5 weapon in the game. Is the process always to make this weapon from scratch or do developers then use or base the model on stock assets? The reason of my thinking is that there is really no “ambiguity” to the form of an Mp-5 and I assume that when a model for the Mp-5 is made these days it is done down to the last millimeter in regards to the exact form of the model of the real life model. Or am I wrong there? I mean the Mp-5 has a certain form that can be measured and then put into the model so it has the exact same “specs” as the real life model. So what is the point at that point to redo the model from scratch if the model outcome will be exactly the same? And I assume this will only be more true as the years go on and we will creep closer and closer to real photo realism?

I have no idea though and I am curious as to what the actual process is when making assets for games and what the general procedure is?