There are a bunch of reasons here: http://macresearch.org/difference-between-alloc-init-and-new
Some selected ones are:
newdoesn’t support custom initializers (likeinitWithString)alloc-initis more explicit thannew
General opinion seems to be that you should use whatever you’re comfortable with.