A DLL in this context is a collection of functions that are created using a language like C/C++, Delphi, Pascal, Assembly, etc. They are machine language or binary programs. That means, they are programs that talk more directly to the processor than a language like DarkBASIC classic can. That also means they tend to be way faster than DBC.
The functions in an #INCLUDE file are functions created within DBC. These are not binary programs and do not talk to the processor directly. DBC has to interpret them as it reads them line by line to machine understandable code that the processor can use. This of course is much slower than the DLL. But these functions you can create in and for DBC, and it takes some of the work out of creating a DLL (which can be more complicated depending on the task and requires the knowledge of a lower level pregramming language).
The functions in a dll have to be called at some point after the dll is loaded into DBC as you need them just like a function created in DBC:
load dll "dllname.dll",<num>
value=call dll(<num>,"<dll function name>",parameter1,parameter2,...,parameter9)
or if the dll function doesn't return a value
call dll <num>,"<dll function name>",parameter1,parameter2,...,parameter9
Enjoy your day.