Generally, both are the same meaning of "speak". But still have a little difference:
"讲" usually used in oral Chinese,and sometimes it means speak by one person without others' opinion on the topic he talked about
"说" different from "讲", it always used in written chinese and refers to many people,they are discussing and expressing their different opinions or one express his opinion with others agree with that.
"讲"--(as a verb) to speak, to give a speech, to say something in a logical way
"说"--(as a verb) to say, to talk
"说" and "讲" can be tricky, when both 说 and 讲 are interchangeable, 讲 feels a little more colloquial whereas 说 is usually used on formal occasions.
Example: 说谎 = To tell a lie
说明 = to explain (literally, say clear).
说不定 = perhaps/maybe.
Example when both are interchangeable
说话／讲话 = speak/talk
说故事／讲故事 = tell a story
你说什么？／你讲什么？ = What are you saying?