ODM stands for Original Design Manufacturer and refers to a company that both designs and manufactures products. The products are then distributed and resold under another company's brand.
OEM stands for Original Equipment Manufacturer and refers to a company that builds a product based on the instructions and specifications of a third party. The third party buys the product upon completion and sells it under its own brand.
The primary difference between ODM and OEM is that ODM companies are entirely responsible for the designs of their products. OEMs, on the other hand, can be thought of as contracted manufacturers, hired to carry out another company's plans.