In both cases, this isn't how people think of the data. A date is a single point in time, even though it is represented by three values (day, month, year).
Three values isn't quite how people think of a date either, to specify a date we also think of time differences (I'm going on holiday in two days), imminent days (tomorrow, next tuesday), and how often do you think "oh-two-slash-oh-one-slash-two-oh-oh-four"? A plain text box should support things like "January 1st, 3rd Feb" and be able to jump to a reasonable date.
And that's besides the fact that in many cases people don't have a particular date in mind. Maybe we could have a "vague date" that could also hold nonspecific times like "next week", "before friday", "christmas", "in august" and so on. (But is that string really worth validating as a date then?)