Just creating a new variable isn't going to change the function of the defaultRenderer. The v variable isn't used in the method other than what the ret variable would be. Show me a test case that would produce unwanted behavior.
Best practice aside, this problem did cause problem in the "getClass" callback.
Using "v" to build HTML changed "arguments", thus changed the parameters passed to "getClass". In my case, the "v" passed to getClass is always empty string, instead of the expected "The value of the column's configured field". After my changes, getClass behaves as expected. Check the highlighted part below if I was not clear.