Pre-filling input elements with valid default values is a great idea. However, deleting those values when you click on the element is an extremely poor UX choice.
You are making the assumption that the only reason someone 'clicks' on an input element is to change the value. That's not so.
Entering a field via the keyboard triggers the same events as using a pointing device. Users who use the keyboard to navigate your form will enter all the fields in the form in sequence, therefore you would be presenting them with defaults and then yanking them away as they go through your form. Try to imagine what the user experience would be like.
Visually impaired users (running tools like JAWS) always use the keyboard to navigate the form. Also, some devices might not have a pointing device at all. They would never be able to take your defaults.
(I am optimistically assuming that the implementation is smart enough to track when the value is a default and delete it, and when the value is a user-entered value and leave it alone, then the idea is merely poor UX. If the code doesn't track the difference, it becomes nothing short of sabotage. Users who choose to use the keyboard (or have no choice but) would be virtually prevented from using your site.)
Even if you restrict yourself to using the mouse, as you yourself noted, there are other reasons to click on a form element other than to change the value, such as to copy it and paste it elsewhere.
There might be a limited case where this kind of interaction might be appropriate. For example, There might arguably be a situation where a specific field has sensitive information where you want to make sure the user re-enters the value every time, or something like that. It would have to be some extreme circumstance. Not on a general basis.
placeholder
. I believe it's new to HTML5.