The difference between Hindi and Punjabi is very much like the difference between Russian and Ukrainian, or between German and Dutch.
The structures and grammatical mechanisms are "mostly" the same, lots of words are "basically" the same, but look or sound different most of the time.
There is also a psychological gap between them, the speakers of the former (Hindi, Russian, German) typically considering the latter (Punjabi, Ukrainian, Dutch) more or less a variant of their own languages... and often enough not taking it too serious... typically only recognizing but not understanding...
The speakers of the latter typically are the ones understanding and often speaking well the other's language. They are the ones more probably being bilingual than the other way round. During my time in India (2008-2010), I never met a Pubjabi person not also fluent in Hindi or Urdu...