Both processes are good. It depends upon how do you secure those codes. Still I prefer the Drupal provided process, which is the view re-write process. As this is handled by the Drupal itself, it reduces the human error problems.
So I think you have understood the difference. Both would be doing server side codings( along with some client side changes ). Again I'll say that if you need some more customisations and you are not able to do that through view over writings then? You have to take the help of theming the view output with coding. Both processes are important, just we have to be careful to avoid the human logical and visual errors.
Cheers, keep Drupalizing :)