大きなテーマとしては 「List list = new ArrayList();」 と記述することのメリットを考える、です。 下記のコードのαとβを比較したメリットでもかまいません。
α:ArrayList list = new ArrayList(); β:List list = new ArrayList(); γ:List list = new Vector(); δ:Vector list = new Vector(); ※あとで必要になるかもしれないため、γとδも書いておきました。
ケース A に関しては「どっちでもいいんじゃない?」という意見です. 特筆すべきメリットもデメリットも感じないし.
例えば "LinkedList list = new LinkedList()" と書いてあれば, 「あぁ, きっと LinkedList じゃなきゃいけないロジックがあるんだろうな」と思って読み進むので, ケース A の書き分けに関してはどちらかと言うと「可読性」の問題かなぁ, と思います.