Routers tend to use CGI for the generation of their HTML pages, so that the embedded HTML server can interact with the system pretty deeply (toggle settings, etc.).
It's probably mostly that since the CPU & RAM in there tends to be minimal, the bottleneck and delay is much longer than if a real server was serving up the data. With CGI the HTML server gets the request, processes the data, generates the HTML page and sends it back. #1 and #4 should be pretty fast.
But that is a fair bit of assumption on my part, but logically it makes sense to me.