Before we can talk about barcodes and make sure we all understand the same, we need a few definitions.
A symbology is a set of rules to encode data within a barcode. These rules enable printing and recognition equipment to agree on the encoded contents.
An element is any individual space or bar.
A character is a sequence of elements that encodes a value. The character set can be numeric or alphanumeric. Some symbologies encode full numbers within one character.
Discrete barcodes have characters that start with a bar and end with a bar. The characters are separated by some amount of inter-character spacing. Each character can be decoded without looking at the rest of the barcode.
Continuous barcodes have characters that start with a bar and end with a space. The width of the final space of one character is determined by the start of the first bar of the next character. The character cannot be decoded without looking at the neighboring character.
Barcodes may have spaces and bars of 2, 3 or more different widths. With multiple width symbologies there are more variations and encoding needs less space. Multiple width symbologies are often scanned with edge-to-similar-edge techniques.
The width of the narrowest element of the barcode is a module, often also called X. Wider elements may then be 2X, 2.5X, 3X, up to 9X for some multiple width symbologies.
A fixed-length symbology encodes a certain, defined number of characters or digits. The fixed-length symbology itself defines the length of the encoded data.
A variable-length symbology encodes any number of characters or digits (within some limits that the symbology may define).