This is because
DATEDIFF(YEAR,.. doesn't check units lower than year and just subtracts years i.e, 2015-2001 in your case.
You can check
SELECT DATEDIFF(year,'2001-12-21 00:00:00.000' , '2015-01-01 00:00:00.000')
and it will still return 14 as result.