High-Impact Unlimited Hexes! The fact they could be your primary form of contribution to combat and your spells actually took a backseat to them often made the witch feel like it was more than just another Int-caster.
Eclectic but also Focused Spell List! Spooky flavor abound (Lipstitch was my favorite spell in 1e, hands down) as well as a number of different focuses that also managed to avoid being as diverse as the wizard/sorcerer.
Off-list Patron Spells! A natural addition to the last point, patron spells let you choose another area or two that your spell list didn’t naturally cover to give you extra options.
Familiars. They’re pretty neat, but they also felt like a liability. I often just had my scorpion/dodo/cursed teddy bear sit in a bag or nest in my hair so it wouldn’t get targeted. This led to me often forgetting they were there other than a +4 initiative on my sheet.
Oddball Hexes. Some hexes were clearly there for flavor and no other reason. If you were to make a character who could reliably use their hexes, you generally didn’t take stuff like cauldron or coven.
On-list Patron Spells? These always bugged me. A number of Witch Patrons gave you mostly spells already on your spell list, which always felt like a waste. It’s not that there’s no benefit to getting them added to your familiar for free, but it’s certainly less interesting than new spells you don’t normally get to access.
Lack of Patron Mechanics? Patrons felt like a list of spells, and that’s all they ever really were. I never even considered making them mean more to my character in their backstory.
Familiar Death Punishment? The main reason why I never really wanted to play with my pet. Having your character be actively harmed for trying to use their familiar in combat is pretty lousy (and it only feels worse in the playtest