Hello!
In the past I used self-made signs and decals as well as online services.
For the most common scales (e.g. 1:50, 1:100) there are sheets with draught marks available.
When you take a look at model railroader magazines (ok, I confess I'm a model railroader, too) there are quite some suppliers of decals where you can upload your own computer generated drawings from which they make the decals. Especially popular for Northern American railroading with the many different roadnames there. I can look up some in the US or in Great Britain, if you like.
In the past I used commercial labeling machines, too. But the quality (resolution) of the prints is not that good. I printed it out on thin film and carefully painted the letters over with a very small brush. The disadvantage is that however thin the film is, you see it on the finished model if you take a closer look.
For the names of ships in the scale of 1:48 to 1:20 I used noodles. Yes, there are noodles in the shape of characters for soups for example. I sort the best out, glue them to the hull and paint them over. Looks like charakters welded on the hull and cost nothing - there are always enough left for a good soup!
Best regards,
Michael.