It really depends on a person. For a neurospicy person like me, pull is stupidly hard but push works better. That's why I'd rather turn my environment and lists into intelligent auto reminders. Otherwise they may as well just not exist.
If you put non-date-specific TODOs in your calendar, then as soon as the number of TODOs in that system becomes overwhelming, you stop looking at your calendar and start missing appointments & truly date specific reminders.
If you put date-dependent TODOs in your task tracking system, then every time you look at it you see a bunch of stuff you can't move on and you quickly lose effectiveness.
If something is dependent on a specific date or time, either because it is an appointment or because it is nonactionable until then, put it in a calendar or tickler file. If not, keep it the hell away from your calendar and put it on a TODO list (plain text file is fine). This keeps both systems effective.