"российский" is used when you are talking about country ("Россия" --> "Российский"). "Русский" is used when you are talking about language or ethnicity. Russian language is widely spoken not only in Russia, but also in Ukraine, Belarus, Kazkhstan and Latvia. By the way, the latter has a good reason: there is a huge (~25%) minority of ethnic Russians ("русские") in Latvia. Obviously, being citizens of Latvia they are not Russian citizens ("россияне" or "российские граждане/граждане России"), and some were born there and have never been anywhere else. The difference is more obvious if you speak language which is native to many speakers in different countries. For example, you may speak English, but still be Australian or Canadian, and maybe you've never even been to England. Or you may consider yourself Frenchman even if you have been living in China for, like, ten years and mostly speak Chinese or English in your everyday life. If you speak French, it is still French as a language. Not in the sence that it belongs to France (remember, you are in China, and still speak it)
P.S. In Russian adjectives do not have their first letter capitalised, even if it is derived from a proper nouns, which starts with a capital letter. So it is "русский" and "российский" Unless the adjective is acting as a proper noun itself (i.e. a name of a station, a street and so on: "Meet me at the Sunny street" is capitalized in Russian and in English for the same reason: "Sunny" is a name of a street, and does not refer to weather). The same goes for nouns which represent people of different countries and ethnicities: there is only one Japan (Япония), but many Japanese (японцы), so no need to capitalize it.