Use single table with foreign key or two twin tables for text entries?
Personally I would avoid the twin table approach most, but not all, the time.  It leads to duplication of information and if you find that a wording of a question is bad in the db, it takes a bit to clean it up.  The cleaner solution would be to have the answer table just join user and question and then you only have one update/insert required.

This being said there can be some valid reasons for the twin table approach.  The major one is that if the questions are relatively free-form, frequently changing, etc. and you do not need to track answers across a given form of the question, then a twin table approach forms essentially an "answer log."  It isn't great for analytics if you are just looking at questions and answers, but it might be in some other fields.  I could imagine linguistic research doing well with a twin table approach.   For example it makes it easier to look into questions relating to effects of wording on response (rather than substantive answers to substantive questions).

So in general, I would recommend against a twin table approach unless you know you need it.  A simple answer table joining both the question table and the user table is sufficient for the most common use cases and it is far more useful in most cases.