What you mean is forward and reverse. That allows you to specify a shaper for upload and annother for download.
Shared means the specified bandwidth will be shared among all hosts the policy applies to.
Per Ip means the specified bandwith will not be shared among all hosts the policy appliles to. Instad every single host will be limited to that bandwith. If you use a per-ip shaper to even grant bandwith this will sum up per host.
Probably that is the easier way to understand that:
If you grant 1mbit to a group of hosts via shared shaper then this group alltogether get granted 1mbit.
If you do via per-ip-shaper then every single member get granted 1mbit. So the group alltogether in this case gets granted bandwith that is number of its members times 1mbit.
Or if you want the other way round: shared: all affected hosts share that bandwith - per ip: no sharing. Every single affected host gets that bandwith.
"It is a mistake to think you can solve any major problems just with potatoes." - Douglas Adams