There are many issues with the use of underline for headings:
1) Constantly fixing them to match the length of the heading, or just suck it up and always use the short form:
My Heading
----
2) You're typing twice as much. I can easily start a line with # to make a heading, vs write the heading line, then carriage return, then add a bunch of dashes to make it a heading.3) This is the fatal flaw - you only get 2 levels of headings when using underlines.