Bindis and tippees cannot be used indiscriminately - there is a correct choice for each occasion.
They always appear above the joining line so their use is (with one exception) determined by how much space is available - that being dictated by which vowels are used or whether an oordaa is present - oordaa being the only letter that goes above the joining line.
However, oordaa only appears as a vowel carrier so we can make a meaningful table of bindis and tippees with each vowel, using vowel carriers and any other letter.
You can see from the above table that nasalisation markings are dominated by bindis and that at first, you might think that the table has little pattern to it. However, there is a simple rule of thumb that makes reason of this.
With the single exception of a kannaa, you get a tippee wherever there is enough space for one.
If you think of it looking better with a bindi; or, just being easier to write (there being so many kannaas with a bindi in Punjabi), then you should remember this exception.