>>14
Because imperative programming
in some form is necessary to do anything except very trivial programs. In Scheme, it can be fluently mixed in to otherwise functional programs with a single keyword, which is conceptually easily mappable to the programming model of almost any non-purely-functional language.
>>15
It strictly separates code with side effects from functional code.