The main reason is to separate log messages from "normal"
output when running commands like updateSql which writes the SQL to
stdout. If they both went on the same channel the file you get from
running updateSql > file.sql would not be valid SQL.
Nathan