In my school, SE ended up weeding out quite a few people who couldn't actually program. They were fine at math and "theory," but when it came down to actually programming, they produced garbage which only eventually worked through trial and error.
For most other classes, grading was based entirely on test cases so they could still pass with their frankenstein programs. SE was the only course which required the development of a large application and where grading was substantially based on actually looking at the code.
For the record, there were 0 essays in my SE class and lots of large, in-depth projects.
Once you get up to the actual SE electives, they're all about the formalization of software and how it can be represented. These classes are usually avoided by students as well, since students opt for fun (from the student's pov) classes like robotics programming, compiler design, web development, crypto, etc, which only makes the SE classes seem like more "fluff".
In general I only recall writing one simple essay and it was, indeed, for our completely fluff project planning class, which was almost entirely about the instructors homegrown, mostly bullshit agile-like system.
Frankly, I'm surprised that your SE class did compilers at all, many schools in CS have their own "operating systems programming"/"low level programming"/"compiler design" sort of class, where the topic is fully fleshed out, rather than just a tiny project.