I think it depends what you want to do. A while loop is better is a have a fixed set of things to loop through. A cursor would be better if you are building a dynamic table through a series of queries.