Global variables can be accessed from any part of an app and their values can change, while local variables are only accessible within the function they are declared in. The App Inventor blocks allow creating global variables with "initialize global name to" and local variables with "initialize local name to in (do)" and "initialize local name to in (return)". Local variables are useful when a variable only needs to be used within a specific function.