As I said since we do not know the particulars it is hard to judge.
For example if the OP is doing the exact same run at the same time and knows his schedule in advance then Amtrak might be the better option.
HOWEVER if his schedule is very much up in the air on a daily basis then the NJT/Septa option could be better as he would pay the same fare regardless of when fare bought and not worry about missing his particular train.