I believe that AI traffic is controlled by junctions, not signals.
 Signals show if the track ahead is free or if it is terminated by  another signal or portal. AI drivers move from one junction to another.  As the maximum radius size for junction trigger is 500 meters only, AI  drivers see only few junctions. They don't understand concept of a block  and there is no need for it, because Trainz default engine does not  provide one and implementing it by a script would mess up the simulator  completely. A small station with 4 load/unload tracks, capable of   servicing trains up to 500 meters long would typically have entering  signals at both ends separated by distance of about 1500 meters. No AI  driver can "see" what is the status of the junction at the other end.  So, signals act like proxies to junctions, but they are not in charge.
Despite this limitation, signaled track has number of advantages when driving in AI mode:
-  It allows dispatching more than one train along bi-directional line.  Without signals, the entire map is like a single, gigantic block,  managing which can be unpredictable.
- It allows terminating end of  track. If end of track is unprotected by a signal, AI driver may attempt  to drive forward and derail the train.
- It allows to set the stop  point before junction. I usually place a signal 100 meters before  junction in main tracks. If for some reason AI driver will not apply  break on time, there is still some distance left. 
I am pretty  sure there are many other good reasons, of which I can't think right  now. Generally, you should know limitations of AI driver and signal your  route accordingly.