1. Why is 말 a better noun to use than 것?
말 is a better noun than 것 when speaking about words and phrases because it is clear and specific.
것 can mean so many different things just like "thing" in English, so it cannot express 말 as specifically.
For example saying 그 말 잊지 않겠어 (I won't forget that[your] word) is much clearer than 그것 잊지 않겠어 (I won't forget that thing). The latter one doesn't convey the exact sense you want to make, which is "that WORD".
I think in English, "thing" is used a lot to refer to remarks because there is no convenient word that can mean anything that might be said, from a single word to multiple sentences. In Korean 말 is exactly that all encompassing word, so there is no need for a substitute word like 것.
2. 말을 하다 vs 말하다
말을 하다 is like "say something", with the object explicit, while 말하다 is just "say".
They are both common and natural sounding forms - neither is better or worse than the other.
Depending on what you want to say, one or the other comes handy:
- 그는 심한 말을 했다: He said something harsh. (to separate out the object, you need 말을 했다)
- 그는 기뻐하며 말했다: Happily he said. (when there's no object, 말했다 is better).
So both are equally useful.
These long and short forms are a common pattern in Korean which occurs all the time.
- 잠을 자다 v 잠자다 => 나는 깊은 잠을 잤다 v 아기가 새근새근 잠자고 있다.
- 일을 하다 v 일하다; 애를 쓰다 v 애쓰다; 눈물을 짓다 v 눈물짓다; 겁을 먹다 v 겁먹다 and countless more.
In each of these, the long form O+V (일을 하다) sees such a frequent usage it eventually spawns a new word which fuses the object and the verb (일하다). Both versions are fully recognized words in their own right.
With some other words, the usage is not that high so the shortened version is not recognized as a new word by the language standard (길을 가다 -> 길가다, but 길가다 is not a standard word and thus should be written as 길(을) 가다). This is a subtle, more advanced subject, though.