The word Hindu is derived from the Sanskrit word Sindhu which is the local name for the Indus River that flows through the north-western part of the Indian subcontinent. Sindhu also means sea. The word Hindu or Indu was used by Greeks to denote the country and people living beyond the Indus river. Megasthenes' 'Indica' epitomizes the name for India and Indians around the 4th Century B.C.E. 

This word was misunderstood to be coined by Arabs, by medieval and some modern Indian Historians. But this was only an extention of the name used by the Greeks. The Arabic term al-Hind, referred to the land of the people who live across the river Indus. By the 13th century, the word Hindustan began to be used as a popular alternative name for India, meaning the "land of Hindus". 

Towards the end of the 18th century, the European merchants and colonists referred collectively to the followers of the Dharmic religions in Hindustan — which geographically referred to most parts of the northern Indian subcontinent — as Hindus. Eventually, any person of Indian origin who did not practice Abrahamic religions came to be known as a Hindu, thereby encompassing a wide range of religious beliefs and practices.

One of the accepted views is that the ism was added to Hindu in the early part of the nineteenth century by English writers to denote the culture and religion of the high-caste Brahmans. The word Hinduism was soon adopted by the Hindus themselves, as a term that encompassed their national, social and cultural identity.

The original word for the now-so-called Hindus is Sanatan and Arya. The word Hindu is believed to not appear in the Hindu scriptures, viz, Vedas, Upanishads, and Puranhas. The contemporary Hindus are believers of and accept the authority of the said scriptures, hence, they are more accurately identified as Sanatanis or Aryans. Another word which is more accurate than Hindu, is Bhaaratiya. People of India are believed to be the descendants of King Bharat. From his name comes the original name of India, Bhaarat, and, those residing in Bhaarat are Bhaaratiya.

Thanks to https://en.wikibooks.org/wiki/Hinduism/Etymology_of_the_words_Hindu_and_Hinduism for this informaiton.

The word "Hindu" is not a Sanskrit word. It is not found in any of the thousands of native dialects and languages of India. Neither it is a religious word. It is a secular word whose origin is rooted in the language of the ancient Persians, who supposedly shared some common ancestry with the ancient Indians. It was practically unknown in India till the medieval period, although it was used in several countries outside the Indian subcontinent from earlier times. It is said that the Persians who were familiar with the Indian subcontinent, used to refer to the Indus river as Sindhu, a major river that still flows in the northwestern region of the Indian subcontinent, partly in India and partly in Pakistan. However due to linguistic barriers, they could not pronounce the letter "S" correctly in their native tongue and mispronounced it as "H." Thus, for the ancient Persians, the word "Sindhu" became "Hindu."

Probably the Indus people who lived on the banks of the river Indus were known to the outside world by the same name. The ancient Persian Cuneiform inscriptions and the Zend Avesta refer to the word "Hindu" as a geographic name rather than a demographic or religious name. When the Persian King Darious 1 extended his empire up to the borders of the Indian subcontinent in 517 BC, some Hindus became part of his empire and army. Thus for a very long time the ancient Persians referred to the people of the Indian subcontinent as Hindus. The ancient Greeks and Armenians followed the same pronunciation. Gradually the name stuck.

For a long time for the native Indians, the Indian subcontinent was Bharata, the land founded by the famous King Bharata, the progenitor of the Bharata clan. Literally translated, the word "Bharata" meant lover of knowledge and the people inhabiting the land considered themselves as such. They believed the religion they followed was an eternal religion and called it as "sanatana dharma," which meant the same.

Excerpts from http://www.hinduwebsite.com/hinduism/h_meaning.asp