There are advantages and disadvantages to both methods of model evaluation. While it is clear to see the advantage of cross-validation in small data (you can use a large amount of your data to train the models and still have all of the data available for evaluation) it can cause problems in later evaluation. First off, your results now come from N different models so the errors can't easily be compared (if your model ends up being highly effected by the training set this can produce wildly different accuracies in different folds). Secondly, while the results come from different models, those models are not independent as (N-2)/(N-1) of the training data were the same between any two pairs of models. Most statistical tests require an assumption of independence so that can lead to difficulty selection a metric for evaluation.
In general, I would go with the hold out method, but if data is really limiting, it may be worth doing cross-validation.