If you convert to datetime…instead of time only…there is a date component that gets added as well which will not be same as compring only time…if you print the converted values you would see that there is a different between convertion to date which will append a dummy date to the timestamp
I hope this will make you understand the difference
as you use cdate and datetime.parse the dates will be appended and the dates appended will be different and will make it fail …that is why to compare time we take only the time part