The method you use to connect the tracks between two modules will depend on a couple of factors - how frequently will you be setting up and taking down your modules, and who will be the owner of the modules next to yours.
If the modules are being frequently moved, then a joiner track is probably the best way to allow the trains to run between the two modules. For discussion purposes, assume the joiner track is 6" (ie 3" on one module and 3" on the other module). If the gap betwen the two modules is less than 6", it's a simple matter of cutting a bit of rail off of the joiner track. Conversely, if the gap is more than 6", it's easy to cut a small piece of rail, slip it into the rail joiner and then push half of the rail joiner onto the joiner track to bridge the gap.
You are then left with the unsightly gap of a 6" joiner track betwen two modules. However, using a bit of paper/styrene, epoxy glue, and some ballast, it's relatively easy to "scenick" joiner tracks so that they don't look as obvious.
However, it can be most pleasing to the eye when you don't have that obvious joiner track staring at you between two modules. On the other hand, if you bring your rails right to the edge of the two modules, you may run the risk of having the rail ripped out of the ties when assembling or disassembling the modules. Or, when boxing up your modules to move them (voice of experience speaking here!). But, if your modules aren't being frequently moved, this may not be a problem. And there are ways of reducing this risk - whether through the use of T-nuts, alignment pins, or other methods.
Running rails right to the edge of the module (ie cutting the rails between two modules) requires a certain amount of precision. And has been mentioned, there is the risk of warping, humidity, temperature, etc which will cause the track to shrink, warp, and do all kinds of things so that the rails are no longer aligned.
But remember, both ways, there are pros and cons, and these are some decisions only you can make.
Bob M.