Semantically, there is no fundamental difference.
However, there is a difference in actual usage: in certain situations only one of them is used.
The best way I can generalise it is that "посреди" is used in more abstract, unquantifiable situations, whereas "посередине" is more quantifiable and physical. The latter is closer to "in the centre of", while "посреди" is similar to "in the midst of".
"Посреди разговора", "посреди бардака", "посреди леса", "посреди площади".
One can also say "посередине площади"; this will usually imply a more definite "centre" rather than "somewhere in the middle".
Also, "посреди" is shorter and has a simpler rhythm, and thus lends itself to poetry, even in the situations where "посередине" would normally be used.