the other thing that influences it for me is:
who is the host?
If I have invited someone somewhere, and they have travelled to come and see me, do the things I want to do with them, maybe stay with me/in the same city etc - then I am the host, they are my guest, and there is 0% chance they are paying.
(I will often let them pay a token gesture, say we are doing 4 things that day that cost money, they can pay for the cheapest one.. I find this works very well because then they do not feel that they are completly taking advantage of you, and you in turn feel that they are greatful.)
Obviously though this only works then if the person does the same thing back for you when they are hosting.. but from my experiance not only is it a great way of testing someones character, it also surprises you how generous people can be, if they feel that their generosity will be matched.