Obviously there's a lot of confusion around the perfect tense, and we could fill volumes with descriptions and explanations of how it's used. However the thing to bear in mind is that it is basically a present tense, where present refers to whatever point in time the speaker is in when he uses it. With that as a reference, the perfect covers a timespan from a point before that "present" and up to it.
I have been writing this letter for an hour.
Here the "present" is now, and the timespan began an hour ago.
I had been writing the letter when Tony arrived.
Here the "present" is the point in the past when Tony arrived and the timespan is an unspecified period before that point. It simply describes what was going on before and up until the point that Tony arrived.
With the present perfect, you can mention when an action began, but you can't use any temporal that would suggest that you're referring back to the event as a finished, completed action at any point in the past, because, remember, it is for all intents and purposes a "present" tense - so it always refers to now. So *I've seen him yesterday - doesn't work because yesterday is over. However you can say: I've seen him today - if today is still today when you say it. At the end of today, you would have to say, looking back, I saw him today. (This may not be so in British English - I couldn't tell you. They often use the present perfect where we use the simple past).
The past perfect is different in this respect; You can refer to an action that continued or was valid up until the referenced point in the past as a completed action: He had written a novel in 2013. It simply cites it as an accomplishment of sorts - an action that was completed by that point in time.
Using the progressive simply implies that it was a repeated or ongoing action:
He had been writing a letter
= this is what he was engaged in up until the point referenced in the account, but not a completed action.
Also note, that the perfect is open ended; the action is understood to have started at a point before, continued or been valid through to the point reference (now or then) and may or may not continue. That is why: I haven't seen him today = not yet, not so far... but I may still see him at some point before the day is over.
I realize this is probably a vague answer to your question - more of a general overview. If you have any specific points you'd like me to clarify, that I missed, please ask. I've been teaching the perfect to Russians for a year and have gotten pretty good at it :)
Best Answer
There is no subject (a word like "we") in any of the options proposed for the part of the sentence up to the comma (for the clause ".. staying at the hotel last year").
This means the two clauses, the one before and the one after the comma, are linked very hard. So hard that one of these clauses cannot be used on its own as a separate sentence. Let's check:
It is unclear where we decided to go exactly, but this is still a valid sentence. This means it's an independent clause.
When we apply any of the 4 options, the sentence does not become valid (on its own, without clause 2 attached). It could become valid if we add a subject like "we" in some of the options.
For example, the whole sentence could become valid with option c if we imagine an omitted we in clause 1 and use a semicolon instead of the comma:
But since there's no subject like "we" and there's a comma, it's much more likely that clause 1 is meant to be dependent upon clause 2: it should merely add to the meaning of clause 2, not be a standalone ("independent") clause.
Option d would not work for the same reason, moreover, it uses the Past Perfect Progressive: there should be a mention of a past event after which your "enjoyment" stopped.
This leaves us with two options, a and b. Each of these options uses a non-finite verb, hence each of this options makes clause 1 a non-finite clause.
We could imagine a family making a decision while being in the process of enjoyment, but the sentence looks strange for some reason. Maybe a native speaker will explain. Maybe a non-finite clause is insufficient to carry the sense "while we were enjoying".
This sentence is right on the spot: the non-finite clause explains the reason why we decided to go to the hotel again. To be more precise, clause 1 is what is called a participial clause or participle clause.