An advantage of strong data typing is that it imposes a rigorous set of rules on a programmer and thus guarantees a certain consistency of results. A disadvantage is that it prevents the programmer from inventing a data type not anticipated by the developers of the programming language and it limits how "creative" one can be in using a given data type.
So for a strongly-type language you can be garunteed that a variable will always have the same type of information, a variable declared as int, will always contain a number. For weak languages declaration doesn't require you to specify the data type, as the language adjusts the data type as needed. Examples:
Strong (C++)
int num = 7;
float pi = 3.14;
char letter = 'a';
Weak (Javascript)
var num = 7;
var pi = 3.14;
var person = "John Doe";