Moving more logic to the client means limited processing on the server, so you can get by with a less performant server but it does require more powerful clients. Depending on what kind of application you are working on, this may or may not be an option. For an application with a significant number of users and features that require some amount of processing the savings of having clients do more processing quickly add up.
With optimized JS/CSS (bundled and minified) the amount of requests being done is fairly limited and it should not really be an issue. Remember that caching client-side is a big advantage and you should probably only have the initial request download the JS/CSS file. That being said, even if you push for server-side rendering you still need some amount of JS (to keep your application responsive as there are some things you can't or should not completely do serverside) and you still need the CSS for styling so that shouldn't influence your decision all that much.
Having a good REST API also means that you can have a wider range of consumers for your data. You are not limited to a single application and can integrate into other systems (like a widget in a CMS) and create better user experiences by having applications build around the platform they need to run on (like an iOS-specific app that looks and feels the way users expect).
One of the biggest issues you can expect to have is keeping your JS working cross-platform. More JS means a bigger chance of things breaking in a library or features that are not supported in an older or newer browser. With serverside rendering you have more control over the HTML being sent. The more you rely on JS, the more you will need to test on a wide range of devices.
Bottom end, with JS/AJAX you can get more responsive applications that can be made to work across a wider range of devices, at the cost of complexity because you are now supporting all of these devices.