It is all about the details:
- Ligatures or not
- *: in the middle (better for things like multiplication), or high (better for things like C pointers)
- Alignment of =, >, - some fonts align -, = and > to that "=>" and "->" look good, others will not, making it arguably look better in isolation, others will optimize for ligatures
- The "i" may look significantly different, some will prioritize consistency, others will prioritize making il1I look distinct. Same idea for 0/O
- Aspect ratio, do you want a wide font, making alignment, indentation, and special characters clearer, or a narrow font, allowing you to cram longer lines into a single screen.
These are compromises, and depending on your style and language, you may prefer one or the other.