"eng" means as much as "not wide enough" and is rarely used in a complimentary way: for clothes or shoes which are (too) tight, eyes which are too close together (eng zusammenstehende Augen), an uncomfortably narrow corridor or a cramped room, narrowmindedness (Engstirnigkeit)
"schmal" just means "not very wide". It's usually either neutral (a narrow stream, a narrow bed) or even complimentary: schmale Hüften (slim hips), schmale Taille (slim waist), schmale Hände/Füße (slim hands/feet). There are few instances that occur to me where it's not at all complimentary: "schmallippig" (thin-lipped), schmales Einkommen (meagre income), schmale Kost (meagre food, the German expression is almost obsolete, though)