Should I answer old questions (over a year), even if they have been already answered? I think that this practice is correct, but since in many forums it is discouraged I'm not sure.
Stack Exchange sites are not forums, and many of the rules which are conventional among forums don't apply here. The rule against answering old questions is one of them. So yes, you can and should answer old questions when you feel you have something to contribute, just as you would do with new questions. (Even if a question already has an accepted answer, don't let that stop you from posting another answer of your own.)
In fact, one of the guiding principles behind the design of the Stack Exchange software is to allow old questions to receive new answers.
I think we should answer old questions because most of the time your new answer will definitely add more information to the existing answers and the new answer will give a different way of explaining which also is useful.