dip provides an interpreter for a simple scripting language that can handle the modem for you, convert the line to SLIP mode, and configure the interfaces. This is rather primitive and restrictive, but sufficient for most cases. A new release of dip may feature a more versatile language one day.
To be able to configure the SLIP interface, dip requires root privilege. It would now be tempting to make dip setuid to root, so that all users can dial up some SLIP server without having to give them root access. This is very dangerous, because setting up bogus interfaces and default routes with dip may disrupt routing on your network badly. Even worse, this will give your users the power to connect to any SLIP server, and launch dangerous attacks on your network. So if you want to allow your users to fire up a SLIP connection, write small wrapper programs for each prospective SLIP server, and have these wrappers invoke dip with the specific script that establishes the connection. These programs can then safely be made setuid root.