Taken from Brahma purana:
There was a sage named Veda. He used to pray to Shiva every day. The prayers lasted till the afternoon and after the prayers were over, Veda used to go to the nearby villages to beg alms.
Bhilla and Veda never met. But Veda noticed that every day his offerings lay scattered and a little bit of meat lay by the side. Since this always happened when Veda had gone out to beg for alms, Veda did not know who was responsible. One day, he decided to wait in hiding so as to catch the culprit red-handed.
While Veda waited, Bhilla arrived and offered what he had brought to Shiva. Veda was amazed to discover that Shiva himself appeared before Bhilla and asked, "Why are you late today? I have been waiting for you. Did you get very tired?"
Bhilla went away after making his offerings. But Veda came up to Shiva and said, "What is all this? This is a cruel and evil hunter, and yet, you appear before him. I have been performing tapasya for so many years and you never appear before me. I am disgusted at this partiality. I will break your linga with this stone."
"Do it if you must," replied Shiva. "But please wait till tomorrow."
Next day, when Veda came to present his offerings, he found traces of blood on top of the linga. He carefully washed away the traces of blood and completed his prayers.
After some time, Bhilla also came to present his offerings and discovered traces of blood on top of the linga. He thought that he was in some way responsible for this and blamed himself for some unknown transgression. He picked up a sharp arrow and began to pierce his body repeatedly with this arrow as punishment.
Shiva appeared before both of them and said, "Now you see the difference between Veda and Bhilla. Veda has given me his offerings, but Bhilla has given me his whole soul. That is the difference between ritual and true devotion."
The place where Bhilla used to pray to Shiva is a famous tirtha known as bhillatirtha.