In short it was designed to deal with required objects (not all objects from app)
performance you can simply test - create an app:
add 3-5 big, granular tables to NPrinitng entitiies
run empty report and measure response time
add 1 tag and repeat above, add another tag and repeat again etc...
I would never add all tables to table objects in nprinting as it simply creates more options for possible error, mistake, confusion etc.,.. given that the same table very often needs to be added few times with different configurations it just adds up to complecity.
I do not see any pros - only cons, regarding performace - i am not sure