I'm wondering what the difference is between the different model numbers in the BMW 3-series. Also, what is the difference between the E30, E36 and E46?
Model number differentiates the power (and usually size of the engine) of the car. You can often expect that car with a larger model number will have better optional equipment (it is valid for BMW 7 series models, perhaps series 3 and 5 have the same tendency). Models with bigger engines usually have different (stronger) suspension and stronger brakes. They often have different transmission and a larger battery.
Letter "i" indicates the car is fueled with gasoline, letter "d" indicates it should be fuelled with diesel. Additional letter "L" informs that this model is longer than regular ones (usually series 7 have a "long" attribute). Letter "M" indicates you are dealing with model equipped with "M" packet (special sport engine, different wheels, different brakes, more power, different interior equipment).
E30, E36, E46 are the distinctions of generations of a model in a given series (in this case series 3). E30 models were sold between 1982 and 1994. Their successor, model E36 was sold from 1990 to 2000, etc. It is as same as with Ford Mustang. One brand, many models.
The number doesn't always match the engine size. A 320i has a 2.2L 6-cylinder engine whereas my 318i has a 4-cylinder 2.0L engine.
Try wikipedia page here
This wikipedia page explains model naming conventions: http://en.wikipedia.org/wiki/List_of_BMW_vehicles#Model_nomenclature