[eluser]Rowan Wilson[/eluser]
It depends what you are trying to achieve, both options have their uses and more than likely you will use both in your application. htaccess is a Web Server configuration file and therefore will be processed before PHP. Routes are a PHP/CI tool that allow you to interact with data in the URL/URI.
Benefits of htaccess are, removing index.php, change apache web server configuration settings, add/remove web server security settings and authentication/authorisation to name but a few. They are also harder to read without consulting the documentation if you ever want to change anything.
Routes are powerful as well from an application point of view. Personally I use them more in Laravel than CI, but CI is still able to do powerful application things like variable passing, RESTful API's, wildcards, intercepting URL's and redirects
HTH