Dan,
First, nothing runs with 100% consistancy. I would say that usually maybe 90% of the time things will be right on time. But note that a train is still considered on time as long as it arrives with 15 minutes of its scheduled time.
Now from Philly to NY you basically have two choices. The first choice is Amtrak. Amtrak provides the fastest trip, a one seat ride, and probabably has a slight edge in dependability. It however is also the most expensive choice.
Your second option is the commuter services of New Jersey Transit and SEPTA. This is the cheapest option, but it requires that you ride a SEPTA train to Trenton, and then exit the train and transfer to a NJT train. Usually the train is on the same platform, but occasionally it's not. Be warned though that if the SEPTA train is late by more than 5 to 10 minutes off the actual schedule time, the NJT train will leave without waiting for transfering passengers. In that case you'd have a half hour wait Monday thru Friday for the next NJT train to NY. Coming home if you miss the SEPTA train you usually will have an hour wait for the next train.
Finally. there is a third partial option that will up the cost a bit more and it will definately add to your total commute time in reaching NY. However, it might also save you time once you reach NY, depending on where you want to go. Regardless of whether you use Amtrak or the NJT/SEPTA option, you could get off at Penn Station Newark, NJ. There you can transfer to the PATH train for $1.50. The PATH train would take you to lower Manhattan at the former site of the World Trade Center. Note: This will add at least an extra half hour to your total travel time.