Your answer is right, of course. Any nonzero vector space has _infinitely_ many bases, so there are infinitely many right answers to this question. (It really should have asked, "find *a* basis for the row space of this matrix", and not "find *the* basis", because the "the" implies that there's only one, when there isn't.) Which still doesn't explain why they used another basis. Where did theirs come from?
Well, your matrix is in echelon form, but if you liked, you could keep reducing it so that all entries *above* the pivot entries were zero, too. (This is sometimes called "reduced" row echelon form--- although usually one also requires that the pivot entries be 1s, and they're clearly OK with having 6 and 3 as pivots.) If you add -2/3 of row 3 to row 2 of your row-echelon form matrix, you get the matrix with row 2,1,0,2, row 0, 1, 0, 1/3, and row 0, 0, 3, 1. Now if you subtract the second row of this matrix from the first, you get the matrix with row 2, 0, 0, 5/3, row 0, 1, 0, 1/3, and row 0, 0, 3, 1. If you now scale the rows to remove fractions (multiply first and second rows by 3) you get their answer. But your answer is also right. There is no reason why anybody would automatically prefer theirs, or continue row reducing past the point you did.
Why do books do that? Well, some people find "reduced" row echelon form (where you keep going until you have zeros *above* the pivots as well as below) mathematically appealing because it's essentially unique. What I mean by this is that if you put zeros above the pivots, and also scale each row so it had a leading 1, there is only *one* possible end result from a given matrix. This is not the case with just row echelon form. (If you and a friend are both given a matrix M, and you both go home and use row operations to put it in row echelon form, there is no guarantee that you and your friend will get the same answer. Depending on what operations you use, and the order you do them in, you can get different correct results. But if you both keep reducing until you have zeros above the pivots as well as below, and scale so the pivots are 1, you are guaranteed to get the same answer.)
Another reason people like reduced row echelon form is when using row operations to solve Ax = b (with A, b given and x to be found). If the augmented matrix (A | b) is put in reduced row echelon form, then writing down the solution x requires no "backsubstitution": having zeros above the pivots as well as below, means that each pivot variable is explicitly given in terms of the free variables, if any. If your row echelon form was the row echelon form of an augmented matrix (A | b) with a 3x3 matrix A, for example, you see 3 x_3 = 1, so you can solve for x_3 = 1/3 immediately, but to get x_2 you need to plug in x_3 to the equation x_2 + 2x_3 = 1 and then solve for x_2 that way, and then you need to plug that x_2 into 2 x_1 + x_2 = 2 to find x_1. This wouldn't be necessary with the reduced row echelon form. But you're not solving Ax = b here, so I don't see any advantage to the reduced row echelon form.
Just to offer a third answer: your calculation shows that the dimension of the row space is 3, and since there are only three rows, this shows that the *original three rows of the matrix* are linearly independent and hence a basis for the row space. So another correct answer is the three rows of the given matrix. So this problem has a lot of correct answers. (This answer is really no "simpler" than yours, because if someone wanted a justification for why the rows of the given matrix were a basis for the row space, you'd have to do your calculation; in general there is no way of just "seeing" that the rows of a matrix are linearly independent, unless it in row echelon form.)