It is a cheap hack. Plan 9 is designed around 9P where FUSE is a kinda shitty but useful bolt on. Why they didn't just steal 9P instead of making FUSE is beyond me.
9P is only a protocol, and not a very good one for many purposes.
9P in Plan9 is not great because it is some super advanced technology (it is actually quite simple), but because of its ubiquity. You can use 9P from Linux, with or without FUSE, but this won't give you a completely consistent system with a single interface as Plan9 is.
Another comment made some analogies of Plan9 and Go. gofmt is not the most awesome program ever written; but a consistent style for all the code written in the language is one of the most appreciated features of Go. You could write a cfmt, a cppfmt or a jsfmt program, but this won't give you the advantages of gofmt in those languages.
For what it's worth Plan9's C was written to a standardized format that was strongly enforced. All, or at minimum, most, of Plan9's C code was all written in a singular format, similar to how Go (contributed to by Plan9 developers) requires a specific format, but obviously without the absolute rote software-side enforcement.