Cheap is often used to imply that a product is of low quality, so it sounds bad. Inexpensive sounds better because it emphasizes the lower cost.