Difference between SAY, TELL, and SPEAK

Ability — if it's about ability, "talk" is preferred: "cats can't talk", "when I'm drunk I lose my ability totalk". Note that "speak" is allowed but is less popular;

Languages — use "speak": "I speak English";

Action — covered in answers above; both words can be used; "speak" is mostly about single-direction, while "talk" usually refers a conversation (and is less formal);

Express information — use "say" or "tell": "I told her that I love her". Here, "I love her" is the information being expressed. "Say" can also be used, but it connotates a single-time action. Compare: "I said that the discussion is over and hung up the phone."

Imperative usually follows the rules above, but due to an extended popularity, here's a brief: