On 1: A script tag can be used to extend your application logic with custom code within process designer. Business objects are used to wrap code in a reusable manner. Also script tags are executed on the client side similar to client side business objects. So the only difference is reusability when it comes to business objects vs script tags and the fact that script tags are part of the application and business objects are not.
On 2.: This is straight forward. Client Side Business Objects are executed on the Client Side and can be used to create reusable functions. Server Side Business Objects are executed on the Server. Both are independent from a business app and can be used to create reusable functionalities that can be consumed from apps built on Simplifier.