What's the difference between a "model" and an "algorithm"? I think the principle should be similar for both of them, but what actually are the differences between a model and an algorithm?
Examples of models include: climate model, physical model, hydrological model, etc...
 A: As is often the case with mathematical terminology, it is useful to see what a basic dictionary says:

algorithm (noun) a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.
model (noun) 2. a system or thing used as an example to follow or imitate; a simplified description, especially a mathematical one, of a system or process, to assist calculations and predictions.

Thus, according to whatever dictionary Google uses, an algorithm is a sequence of rules or steps that one uses in order to derive a result; it is a set of instructions.  A model is a description of a phenomenon, typically (though not necessarily) in the language of mathematics.  Models can often be used to generate algorithms, but are not the same thing.
While one should not immediately trust a dictionary of vernacular English to give an accurate representation of how a word is used in a technical argot (such as mathematics), these definitions conform well to my understanding of the words.
As a silly example:
I have a model for sandwiches:  a sandwich is a savory filling (such as pastrami, a portobello mushroom, or a sausage) and optional extras (lettuce, cheese, mayo, etc) surrounded by a carbohydrate.  This model allows me to describes foods simply (I can classify all foods as "sandwich" or "not sandwich"), and allows me to come up a with (or predict!) new sets of ingredients which will make sandwich (such as a pile of pastrami stacked between a couple of latkes).
An algorithm for making a sandwich would consist of a set of instructions, for example

*

*Slice two pieces of bread from a loaf.

*Spread chunky peanut butter on one side of each slice of bread.

*Spread raspberry jam on top of the peanut butter on one of the two slices.

*Place one slice of bread on top of the other so that the sides with the peanut butter are facing each other.

A: An algorithm for throwing a basketball into a hoop:  Hold the ball with both hands, bend your knees, keep your elbow straight, shoot, follow through. 
A model of gravity:  Gravity will act as a force on the ball according to its mass, making it travel in a parabola trajectory. 
A: Algorithms are methods or procedures taken in other to get a task done or solve a problem, while Models are well-defined computations formed as a result of an algorithm that takes some value, or set of values, as input and produces some value, or set of values as output. For example, we want to find the value of y for a certain values of x in which they are linearly related.
First we use the algorithm that shows the linear relationship between x and y , which is;
y = mx + c
Then we create a model for a certain case where m = 2 and intercept c = 3, therefore, we have;
y = 2x + 3
With this model, we can find values of y for different points of x.
