Most of the time, an IFR route resides on airways. However, there are cases where a valid IFR route goes from one waypoint directly to another without an airway in between. These are marked by “DCT” in the flight plan.
In the Eurocontrol restriction database, each airspace has specific rules about the types of DCTs that are allowed. Route generation software can make use of this information and employ DCTs to considerably shorten the route. In many cases, DCTs not only shorten the route but make a route possible at all. A very specific case is found in the UK, described in a separate article.
The reason traditional IFR routing software does not make use of DCTs is found in limited computing power and algorithms not capable of calculating DCTs. The number of theoretical DCT combinations is in the millions and it takes enormous computing power to analyze all possible DCTs, making the whole route generation process an order of magnitude more complex. autorouter was built from the start to also consider DCTs and offers all possible DCTs.
Internally, DCTs are slightly penalized, meaning they will not be chosen if an airway of similar length is available. Historically, many pilots believe that they are not allowed to file flight plans with DCTs or that doing so is bad practise. This is a misconception. DCTs are only possible when an airspace owner explicitly allows them and the official mandate of Eurocontrol is to decrease the average overhead of flights in its area (measured by CO2 savings) and using DCTs is a way to do that.
In real life, it is possible for filed DCTs to be changed by ATC enroute either for traffic reasons or because in some cases, the Eurocontrol restrictions database is not correctly maintained by the airspace owner, e.g. a restricted area is missing and therefore a DCT crossing it will not be rejected. Such issues will be discovered by the ATC unit as flight plans arrive and restrictions are constantly being improved over time.
Having said all that, autorouter gives you the option to heavily penalize DCTs and try to come up with a route that does not contain any DCTs.