Referential transparency makes things so much simpler, there is so much less stuff to keep track of, when your program is much less prone to random state in one part of your code affecting another.
Its not the "holly grail of programming", its more like "the less broken type of programming".