rest api gives basic read write abilities to Kentico objects fast with built in security, but usually it's one object at a time so you may need to make multiple calls to get all the data you need.
custom api you can control what you give so more from to mix content but you have to build it.
if you go with the custom api, check out the webpart to api (turns a repeater content into an api) or the ajax helper module on the marketplace (basic sql query with single parameter input to api)