The following is a short list of some of the things you can get Tcc to do for you in running a model railway. I am sure there are lots more.
I think the most important issue is to have a strategy. Don't just think of where you are going today, with your current layout, but look many years ahead at what you might like to dabble in one day. Then work out a sequence of stages that take you to that objective where as little work as possible is discarded at each stage. Even if you plan to change layout, any investment in RPC or CTI modules would be transferred to the new layout. The most important part of such a strategy is that each stage should be of a manageable size, preferably with minimal down-time from the previous stage.
You probably already know about the Merg RPC system and the PTP board. Together they allow any number (well, up-to 256) of inputs and outputs to be interconnected using a single cable. If you have one stack of RPC modules containing say 32 inputs and 16 outputs, you can connect it using the PTP board to another 'opposite' stack of 16 inputs and 32 outputs. All of the inputs at each end is 'connected' to its corresponding output at the other end.
Using a computer in the middle (in place of the PTP module) means that more than two stacks can be accommodated and arbitrary 'wiring' can take place in between. (not just a one-to-one correspondence).
You can even use computer controlled throttles and have a speed knob (plus reverse, brake etc) on the control panel. The potentiometer connects to an analogue to digital converter, and so the RPC link can remove the bulk and weight of the throttle from the control panel (which can now become portable!)
OK, the immediate benefit may seem small relative to the cost, but it opens up so many possibilities for future flexibility.
For a layout with more than one control panel a computer connected between a stack on each panel, and the stacks on the baseboard could be used to simplify the wiring and relays used for those parts of the layout where control is shared. The complexities of passing control from one panel to another, accepting that control and locking out control from elsewhere can all be handled by the computer.
If you want signals on your layout to follow whats happening (rather than having the trains obey the signals) then you can use the computer the read the states of track circuits (or optical detectors etc.), and turnouts and set the signals to suit.
To reduce the likelihood of collisions, SPADs (signal passed at danger), or approaching turnouts when the turnout is set against the train, you could use the computer to stop the train before an accident occurs. This could be by simply dropping a relay that feeds the appropriate track. Naturally you would want an appropriate message to be displayed on a screen so the operator knows why the train has stopped.
Many exhibition layouts and some home layouts operate to a timetable, or more correctly a sequence (because time of day is not normally used). Often this is a ring-binder containing a list of movements. Each operator might have such a list, perhaps tailored to that operating position.
A computer that can sense train position and turnout settings can ascertain when a movement is complete, and so display the next movement on each operator position. It could even display warnings if power is applied to a train when the turnouts are set incorrectly.
With a list of routes on a screen, or perhaps a CTC panel (simplified layout map) an operator could click a screen button to set a route for a train. The computer then sets all the turnouts required for that route. automated signalling might be used at the same time.
As an extension to route setting you could prevent a conflicting route or signal being set by storing a state for each turnout (or part of the route) and disallow routes to be set if the resources they need are not free. The resources can be automatically freed as the train passes them.
Rather than stop trains by dropping relays, which leads to the occasionally derailment, use a 'parking throttle' set to a low speed setting that all trains will actually move at. You can still stop with a relay, but from a lower speed. Alternatively use a computer controlled throttle such as the SmartCab from CTI (you only need one) and slow the train gradually using its inertia capabilities.
As the most interesting part of controlling a layout is the shunting consider letting the computer actually drive the trains around the main lines. The computer can 'drop off' the train at the terminus and you can do the loco run-around or whatever.
If the control panel is fully RPC-ed (ie. all switches, buttons, lamps and throttle are all routed through the RPC link) then you can give operators a magic 'absent' switch. When an operator is unavailable for a session then consider letting the computer take over for that operator.
Some of the duties of an operator can be automated, notable exceptions include the Hand-Of-God and talking to visitors. If you can get the computer to take over from where the operator had got to in the timetable then the operator is free to have a break in the middle of a session.
Either as an extension of standby operator, where all operators are absent at once, or as a separate objective, possibly without operator positions at all, you could let the computer do all the train driving, and concentrate on taking the place of the fat controller. Tell the computer which train and where it has to get to, and let it sort the rest out.
Just let the computer run everything and sit back and enjoy watching the trains. This mode probably requires a picnic and a bottle of your favourite tipple. But there is quite a lot of work to get this far. But its good when you get there.
How about a layout which you drive on your own on Monday, share with others on Tuesday, then act as fat controller on Wednesday, shunting yard driver on Thursday, and then sit back and watch on Friday (perhaps that should be Sunday). With a computer at the centre of the cabling, you can load a different script on each day.