Understanding Code Agent Behaviour: An Empirical Study of Success and Failure Trajectories