Speech models are trained on broad language. They are good at 'meeting' and bad at your internal package name. Custom vocabulary is a correction layer: sometimes a bias during decoding, sometimes a replace-after-the-fact pass. Either way, you are teaching the product your lexicon, not retraining the whole model. Homophones remain hard. A short unique token works better than a common word you hope to steal from English. Teams often share one list so everyone's dictation spells the same customers and APIs.
Custom vocabulary is not a language pack and not a full grammar. It will not make an English model fluent in a language it never learned. It also is not magic against noise: if the audio is garbage, no hint list saves you. Used well, it drops the frustrating class of errors that make dictation feel unprofessional — the ones you would never type. Measure it with the errors you actually correct, not with a public word error rate on clean read speech.