Display Next/Prev when looping Custom post-types archive?

next_posts_link() and previous_posts_link() use the global $wp_query->max_num_pages to determine if there are more pages. since you’re using a new instance of WP_Query, the $wp_query global does not relate to this new query.

Try explicitly passing $loop->max_num_pages to the function:

next_posts_link( 'Next' , $loop->max_num_pages );

or if you’re not using the original query, call query_posts() with your arguments instead of creating a new WP_Query instance.

EDIT – also, as @kevin mentioned, posts_per_page set to -1 will load all posts, so you’d have to change that as well for it to paginate.