We use 달다 and 쓰다 when we notice such tastes clearly.
달달하다 and 씁쓸하다 are used when the tastes are weaker or when we feel them as a component in mixed tastes. These words are also used to make analogies for life situations, like bitter(씁쓸하다), sweet(달콤하다, 달달하다), or bittersweet (달콤씁쓸하다).
If we go deeper, 달달하다 comes from regional dialects. It is still listed as dialect term in dictionaries, and some people might find it odd. The traditional standard word similar to 달달하다 is 달콤하다, but 달달하다 became popular in the past couple of decades (probably because of some TV cooking shows). I would say 달콤하다 is still much more common than 달달하다.
On the other hand, 씁쓸하다 is a long established word, probably more often used for life events than a taste. For example, 친구의 그 말을 듣고 씁씁한 느낌을 지울 수 없었다 = I couldn't help feeling a bad taste in mouth when I heard that from my friend.