love.graphics.push()
love.graphics.setCanvas(canvas)
love.graphics.translate(10, 10)
randomCanvas = love.graphics.newCanvas()
love.graphics.setCanvas(randomCanvas)
love.graphics.draw(coolImage) --Since the translation is in effect, the image is being drawn at 10,10
love.graphics.setCanvas(canvas)
love.graphics.draw(randomCanvas) --The translation is still in effect, meaning the canvas itself is drawn at 10,10, and the image drawn onto it is now at 20,20
love.graphics.draw(coolImage) --Draws the image at 10,10
love.graphics.setCanvas()
love.graphics.pop()
love.graphics.draw(canvas)
When you're drawing to randomCanvas, the image is being translated twice, and when you're drawing it directly, it's only being translated once.