1. You can call everyone who teaches you some knowledge a 老师, however a 教师 makes a living by teaching.
2. 老师 can be used as vocative expression like "早上好,王老师", You would never say "早上好,王教师"
3. One would call someone 老师 in order to show respect to those who are experienced, senior or older than oneself.