The star character is part of the specification for Code 39. It is used as a delimiter for the barcode itself. Barcode readers will not recognize the code if the stars are not present.
When using a barcode printer, the printer adds the stars automatically. You tell the printer what you want encoded (and which code to use), and it takes care of the rest. If you were using a different encoding (other than Code 39), the appropriate start and end delimiters for that code would be used instead. When using a barcode font, you have to place those delimiters by hand.
There should be no physical differences between the font and the output from the barcode printer, but beware of other gotchas: some codes require a certain amount of whitespace on either side of the printed code, and some include a calculated checksum character, which must come after the code characters but before the last delimiter, e.g.:
[whitespace][delim][char 1][char 2]...[char N][checksum][delim][whitespace]
All of these elements are part of the requirements for a particular code. The barcode printer will handle these things automatically. If you have trouble with the codes printed using fonts, try carefully comparing the output of the barcode printer with the output from the regular printer.