My parents have US and Canada tourist visa. They stayed in Canada for 6 months and after that if they wish to come to US and stay for 6 months do they need to go to they native country first or can they come directly to US and stay? And if they go to to India before coming to US how long they need to stay there before coming?
There is no rule that says you have to spend a particular amount of time outside the USA or Canada. You could in theory cross the border between USA and Canada and then come back again taking a U turn back through the border crossing or take a return flight the same day to an airport outside the country. This is what a multiple entry tourist visa is for.
Do they have to go back to the native country?
No, there is no such rule but their border agents have discretionary powers to decide how long to let you in for or even send you back and cancel your visa. Many people do not realize that hundreds of people are returned back to where they came from every day and their visas cancelled when they land in US. Having a tourist visa stamp is not a guarantee that you will be able to enter the US.
If you are found gaming the system by spending more time in the USA or Canada and just a short trip to your home country then you would most likely get a lesser duration entry (Immigration officer decides that at the port of entry) when you arrive back say 15 days or a month but they may also choose to deny entry all together and send you back from the airport.
In theory, they can proceed directly to the US. Whether the border guard's suspicions will be aroused by their travel plans is anyone's guess, but there's no intrinsic problem with their intended travel.
US B1/B2 visa requirements are that one single stay/visit can be maximum 6 months, & it also depends on Border Officer's discretion. If somebody is trying to "live" in US, they are going to warn or going to give clearance for less than 6 months. Even for 10-year multiple entry Tourist Visas, Border Officer may approve shorter duration for that particular visit, or in extreme cases, may totally deny entry at port.
If it their 1st visit to US, it should not matter if they are coming from Canada or India, but after that, from 2nd visit (to US) onwards, there is no officially required time to stay away from US, it all depends upon US Border Officer's discretion. All he/she wants to make sure is that person is not trying to "live" in US & has reasons/things outside US.
Also, after 6 months or whatever time they approved for US Entry, going out from US to Canada/Mexico does not reset the clock for US entries.