Yes because unless the first character in the word matches the letter, the while loop will continue until the end of time. I don't expect you want to wait that long.
You need to increment the index in your while loop each time you test a letter. It would also be a good idea to count the number ofletters that youfind. So something like:
def find(word,letter):
index=0
count = 0
while index <len(word):
if word[index]==letter:
count += 1
index += 1
return count
number = find("mississippi", "s")
print('There are', number, '"s" characters')
number = find("mississippi", "z")
print('There are', number, '"z" characters')