The difference is the atmosphere we use them; 讲(jiang)is a formal word mostly. Eg. When introduing some to give a speech, we will use 欢迎谁讲话(huanying shui jiang hua), but we will never say 欢迎谁说话(huanying shui shuo hua); 说(shuo) is a unformal word, especially in spoken language;
somebody say, 谁说(shui shuo)! Hope this is useful for you!