The primary difference is in the number of Expansion slots and length of the board.
mATX = 4 or 5 expansion slots and usually around 9.6" long
ATX = 6 or 7 expansion slots and usually around 12" long
EATX = 8 or 9 Expansion slots and longer than 12"
Each motherboard size also use different spacing for the mounting holes so cases that are designed to support more that one motherboard size will have multiple sets of holes so that the standoffs can be placed to match the mounting holes for the motherboard.
The differences in features have more to do with the design choices made by the manufacturer. Since mATX is usually used in smaller computers, there are a lot of budget mATX designs but there are also high end gaming boards that fit into the mATX category.
The same applies to ATX but since there is more room for expansion slots there is a much higher percentage of boards that are intended for gaming and other high end applications.
EATX boards are almost exclusively intended for high end uses and, therefore, are both more feature rich and more expensive.