Do you ever recur to that method? Can you live with knowing that you really don't know what you did?
Do you consider important to understand every little piece of what you're doing or you're more interested in achieving the final goal?
I personally do this a lot. Many times I'm faced with something I don't know or understand and I start making random assemblings and trials until it starts working. I sometimes think of it as a kind of "genetic algorithm" way of doing things.
Once it works I'm usually already familiar with all it's parts as to know more or less what they are meant to be doing.
So, what about you?
Never for my own code, and especially not for math. Knowing what you're doing pays off massively in the time saved, especially in math. You should see failures as the bug reports about your understanding - and you should fix.
Sometimes for order of external calls, especially 3D graphics related, sometimes some valid sequences trigger a driver bug in ATI or NVidia.
A few times for a compiler bug (so that the code after modification should give totally identical results).