I found many people say 好きでした when they actually mean 好きです. I think it is short for ずっと好きでした. I know ずっと～していた and ずっと～している can well mean the same, but I still do not know the nuance between 好きでした and 好きです.
The question is about the difference between 好きでした and 好きです. The following do not have to be relevant, but I hope it can inspire discussions and answers.
My first thought is that ずっと may be the culprit. It is often used with た even when る is possible and more logically correct. ずっと is often used with していた and している. The two expressions often happen to be interchangeable. And I think compared with している, していた often implies the process/action/state is interrupted or something else happens in the meanwhile, like in
My another observation is that た is often used to in experience-based expressions. It seems that た (as well as the particle だ, adjective ending い) is especially common in expressions involving expressing emotions, and る is rare in this usage. All following sentences are stative, very different from verbs. I assume 好きでした has something to do with it.
- Impressions, reports
(After watching) いい最終回だった
(Looking out the window, then coming back and saying) 誰もいなかった
(Hearing good news) よかった
(After the issue is solved) ありがとうございました
- Something between 1 and 2
(When you finally got to see someone) 会いたかった
(Same as above) 待っていました
There are many other usages of た, but I do not think they are particularly relevant.
I feel that 好きでした is more or less the same as 会いたかった and 待っていました. Unlike case 1 and 2, both sentences can be used with ずっと, which is similar to 好きでした. But it can be argued that the uses of た in both sentences are logical, because both imply 会えた so the speaker is no longer 会いたい or 待っている. Nevertheless, I think 好きでした conveys the same level of emotional intensity as 会いたかった and 待っていました, if you compare them with 待たせたな, 遅い、すごく待った. I think people say 愛してる rather than 愛してた probably because 片思いのほうが辛い.
To emphasize the feeling over a long past period of time, is this the reason that makes た often fit better with ずっと?